jfurukawa
2024年2月29日 19時43分
Armadillo IoTA6Eのマニュアル
https://armadillo.atmark-techno.com/resources/documents/armadillo-iot-a…
[3.6.9.5. 使用方法]を参考に、他社装置とRS-485インターフェースにて通信を行うために受信データの確認を行っておりますが想定したデータと異なるデータが表示されています。
他社装置とRS-485変換器を使ってデータを確認した際は、期待通りのデータを受信することが確認できているため
ボーレート等の設定誤りの可能性があると考えておりますが、なにかご存じでしょうか。
装置側のボーレートは、19,200bpsですがarmadillo内で作成したコンテナで設定がうまくいっていないのでしょうか。
==コンテナ設定ファイルの記述内容 ==
set_image docker.io/alpine
set_command sleep infinity
add_devices /dev/ttymxc4
== setserialの実行結果 = =
/ # setserial -a /dev/ttymxc4
/dev/ttymxc4, Line 4, UART: undefined, Port: 0x0000, IRQ: 53
Baud_base: 5000000, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal
※この後、マニュアルにも記載がありましたstty -Fコマンドを使用してボーレートを19200に設定しましたが結果は変わりませんでした
コメント
jfurukawa
> 溝渕です。
>
> > == setserialの実行結果 = =
> > / # setserial -a /dev/ttymxc4
> > /dev/ttymxc4, Line 4, UART: undefined, Port: 0x0000, IRQ: 53
> > Baud_base: 5000000, close_delay: 50, divisor: 0
>
> この"Baud_base"は、baud rateとは異なります。親clockの16分の1の値が表示されているだけです。
>
> なので、baud rateを変更してもここの値は変わりません。
>
> 現在のbaud rate等の通信設定は、次のように確認する事が可能です。
>
>
> [armadillo]# stty -a -F /dev/ttymxc4 >
>
ご返信が遅れて申し訳ございません。ご教示いただいたオプションを設定して現在のボーレートの設定を確認することができました。
ありがとうございます。
at_mizo
jfurukawa
> 溝渕です。
>
> > ご教示いただいたオプションを設定して現在のボーレートの設定を確認することができました。
>
> 確認できて良かったです。
>
> 最初に投稿してもらった内容は解決しましたか?
>
> 恐らく対向機器との通信設定に不一致があるのではないかと思います。全ての通信設定は先にお伝えした"stty -a"コマンドで表示できるので確認してみてください。
>
お世話になっております。ご見解の通り通信設定の不備があり通信データが化けている事象が見つかりました。
現在は、設定を見直しCのサンプルコードを使用して期待のデータが出力されるところまで確認が取れました。
本件に関しまして、ご教示いただきありがとうございました。
at_mizo
at_mizo
2024年3月1日 15時45分
溝渕です。
> == setserialの実行結果 = =
> / # setserial -a /dev/ttymxc4
> /dev/ttymxc4, Line 4, UART: undefined, Port: 0x0000, IRQ: 53
> Baud_base: 5000000, close_delay: 50, divisor: 0
この"Baud_base"は、baud rateとは異なります。親clockの16分の1の値が表示されているだけです。
なので、baud rateを変更してもここの値は変わりません。
現在のbaud rate等の通信設定は、次のように確認する事が可能です。