g-shinya
2022年5月9日 13時27分
<Armadillo-G3Lの状態>
imx.cを添付いたします。
uname:Linux armadillo 4.9.133-at16 #2 (担当営業者様より、at22での検証もいたしましたが、同じ結果となりました。)
SMP PREEMPT Fri May 21 18:01:52 JST 2021 armv7l GNU/Linux
dpkg -l | grep "atmark":
ii atmark-x1-base 2.5.2-1 armhf Atmark Techno X1 platform base software
ii libmm-glib0:armhf 1.6.4-1atmark8 armhf D-Bus service for managing modems - shared libraries
ii modemmanager 1.6.4-1atmark8 armhf D-Bus service for managing modems
・DMA無効
・RXTL_UART=1
参考フォーラム
https://armadillo.atmark-techno.com/forum/armadillo/8523
<症状>
ArmadilloG3LのRS485通信ポートで使用している
通信ライブラリ(Pyserial)が正常に動作しなくなる。
<詳細>
in_waiting()の受信数分をread()で取り出してもin_waiting()の
受信数が「0:受信データなし」にならない。
受信数がゼロにならず、返信データが途切れない状態が続くため
受信が終了しない(できない)。
フローチャート参照お願いいたします。
<症状再現方法>
RS485の信号線を短い間隔で短絡/開放させる。
(RS485通信線にノイズを入れる)
<質問>
上記動作になる原因と回避方法、また復旧方法を教えてください。
ファイル | ファイルの説明 |
---|---|
imx.c | |
フローチャート.png |
コメント
g-shinya
2022年5月20日 9時07分
>> <症状再現方法>
>> RS485の信号線を短い間隔で短絡/開放させる。
>> (RS485通信線にノイズを入れる)
>ノイズを入れない場合は、受信数が「0:受信データなし」になり、受信が終了しますか?
(1)正常に動作している状態
受信データを通信ライブラリから取得すると受信数はゼロになります。
→受信が正常終了。
(2)ノイズによって受信数がゼロにならない状態
ノイズを停止しても受信数はゼロになりません。
→受信が終了しません。
>> 受信数がゼロにならず、返信データが途切れない状態が続くため
>> 受信が終了しない(できない)。
>このとき、何が読めますか?
読みだしたデータは全て0xffでした。
受信数は時間が経過すると変化(増加)していました。
> また、この(受信が終了しない)状態に陥った際に、対向機器から文字を送信した場合、その文字を受信することはできますか?
こちらについては再度確認し連絡いたします。
at_mizo
2022年5月18日 13時36分
溝渕です。
すみません。いくつか質問させてください。
> <症状再現方法>
> RS485の信号線を短い間隔で短絡/開放させる。
> (RS485通信線にノイズを入れる)
ノイズを入れない場合は、受信数が「0:受信データなし」になり、受信が終了しますか?
> 受信数がゼロにならず、返信データが途切れない状態が続くため
> 受信が終了しない(できない)。
このとき、何が読めますか?
また、この(受信が終了しない)状態に陥った際に、対向機器から文字を送信した場合、その文字を受信することはできますか?