[Armadillo:08539] Re: RS232C フロー制御
Yasuhisa Nakamura
email@hidden
2013年 1月 23日 (水) 18:45:05 JST
豊田さん、
中村です。
[Armadillo:08538] で、email@hidden さんは書きました:
> Armaddilo-210のシリアルポートにRS485変換器を繋いで、RS485で通信をするシステムを考
> えていますが、RTS又はDTRでフロー制御が必要です。
>
> このような、フロー制御を伴う、シリアル通信の場合、具体的にどのようにすれば良いか、
> ご教授いただけると幸いです。
>
> ?デバイスオープン時のパラメータの指定
> ?RTS又はDTR信号のOn?OFF
RS-485の2線半二重での送受信切り替え制御かと思います。
http://www.ibsjapan.co.jp/news/213.html
ここに解説があるように、Linuxのttyドライバでは無理のようです。
Armadillo-440のでの話ですが、私がRS-485の半二重対応をやったときは、
ドライバに手をいれました。
キモは、送受信の切り替えを行うために、ドライバのバッファと
チップのFIFOとシフトレジスタのすべてが空になったことを
確認することです。
RS-232CとRS-485(2線半二重)の変換器の中には、独自ロジックで
送受信の切り替えをやってくれるものもあるようで、
そういう変換器を使う場合は、送信データにできるだけ
隙間が空かないように送信してあげれば、大概の場合、
うまくいくようです。
以上、参考になれば幸いです。
--
なかむら
armadillo メーリングリストの案内