[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 メーリングリストの案内