コンピュータのプログラムでファイルの扱いは、
オープンして、
読んで、書いて、
クローズする。
これが基本です。
シリアル通信に関しても基本は同じ。
シリアルポートをオープンして、
データ送信して、データ受信して、
ポートクローズ
2秒間隔で、シリアル通信を連続的に行う場合一応、基本に忠実に
シリアルポートのオープン、クローズをその都度行ってみたのですが
長時間のあいだにどうも、変なデータを受信するようなログが残りました。
シリアル通信といっても正確には、スイッチのON、OFFを2秒間隔でみるために
ある基板に対して、入力モードに設定して、そのあと5Vのなのか0Vなのかをみてそれをシリアルデータで送ってくるというものです
ループの中で
オープン
基板の入力設定
スイッチの状態をみる
クローズ
をくりかえしていたのを、思い切って
オープン
基板の入力設定
ループ開始
スイッチの状態をみる
ループ終了
というようにかえてみました。
クローズが無しになってますが、1日1回、プロクラムを終了し、パソコンを自動で再起動させるという仕組み。連続で動かし続けることがかなり大変だというのを、今実感しています。
0 件のコメント:
コメントを投稿