2018年5月18日金曜日

連続的なシリアル通信

コンピュータのプログラムでファイルの扱いは、
オープンして、
読んで、書いて、
クローズする。
これが基本です。

シリアル通信に関しても基本は同じ。
シリアルポートをオープンして、
データ送信して、データ受信して、
ポートクローズ

2秒間隔で、シリアル通信を連続的に行う場合一応、基本に忠実に
シリアルポートのオープン、クローズをその都度行ってみたのですが
長時間のあいだにどうも、変なデータを受信するようなログが残りました。

シリアル通信といっても正確には、スイッチのON、OFFを2秒間隔でみるために
ある基板に対して、入力モードに設定して、そのあと5Vのなのか0Vなのかをみてそれをシリアルデータで送ってくるというものです

ループの中で
オープン
基板の入力設定
スイッチの状態をみる
クローズ

をくりかえしていたのを、思い切って

オープン
基板の入力設定
ループ開始
 スイッチの状態をみる
ループ終了

というようにかえてみました。

クローズが無しになってますが、1日1回、プロクラムを終了し、パソコンを自動で再起動させるという仕組み。連続で動かし続けることがかなり大変だというのを、今実感しています。

0 件のコメント:

コメントを投稿