Armadilloフォーラム

パリティチェックをEVENとした場合の結果について

manamana

2023年3月14日 11時10分

シリアル通信にてparity="EVEN"とした場合、受信フレームのパリティチェックの結果ステータスを
取得するにはどうすればよろしいでしょうか?

CPUは以下になります
 Model name:ARMv7 Processor rev5
 Architecture:armv7l
 Byte Order:Little Endian

コメント

at_mizo

2023年3月14日 11時27分

溝渕です。

> シリアル通信にてparity="EVEN"とした場合、受信フレームのパリティチェックの結果ステータスを
> 取得するにはどうすればよろしいでしょうか?

次のように確認できると思います。

[armadillo]# cat /proc/tty/driver/IMX-uart

パリティエラーが発生した場合は、"pe:"の項目が表われ、エラーが発生した回数が表示されると思います。

manamana

2023年3月16日 17時47分

> 溝渕です。
>
> > シリアル通信にてparity="EVEN"とした場合、受信フレームのパリティチェックの結果ステータスを
> > 取得するにはどうすればよろしいでしょうか?
>
> 次のように確認できると思います。
>
>

> [armadillo]# cat /proc/tty/driver/IMX-uart
> 

>
> パリティエラーが発生した場合は、"pe:"の項目が表われ、エラーが発生した回数が表示されると思います。
>

回答ありがとうございます。
実際の運用でパリティエラーを再現させることは可能でしょうか?
具体的なフォーマットが不明なため、確認したく存じます。

at_mizo

2023年3月17日 8時53分

溝渕です。

> 回答ありがとうございます。
> 実際の運用でパリティエラーを再現させることは可能でしょうか?
> 具体的なフォーマットが不明なため、確認したく存じます。

フォーマットは次のようになっています。
https://ja.wikipedia.org/wiki/シリアルポート#パリティ

データとストップビットの間にパリティビットが挿入されます。

なのでパリティエラーを発生させる為には、対向機器が論理が逆のパリティビットを送信すると良いです。対向機器とArmadilloパリティの論理を逆(odd/even)にしてみてください。

saitoh

2023年3月22日 10時35分

齊藤と申します

> 実際の運用でパリティエラーを再現させることは可能でしょうか?
> 具体的なフォーマットが不明なため、確認したく存じます。

通信相手を「8bit パリティなし 2ストップビット」に設定するとこれは「8bit パリティビットが常時1」の信号と同等になるので、これでパリティエラーが起きるバイトと起こらないバイトを両方送ってテストできるはずです。