目次
1. 本ドキュメントについて2. 仕様
3. 説明
4. ソース
1. 本ドキュメントについて
4班のMIRSには、LEDボードを搭載し、MIRSの状態を外から判断できるようにする。このため、LEDボード上のPICにシリアル通信で情報を伝える。本ドキュメントではPCからPICへとシリアル通信でデータを送信するプログラムについて説明する。2. 仕様
-
仕様を並べると、
- PCのCOMポート2からPICへシリアル通信する。
- PICには1文字分(1バイト)送信できればよい。
- シリアル通信の条件(bps等)は、MIRSの他の機能(超音波センサ等)と同規格とする。
となる。 PCのCOMポート2からPICへシリアル通信する。 PCのCOMポート1は超音波センサ用に仕様されている。しかしPCにはもうひとつCOMポートがあるため、こちらをLEDボード用として使用する。
PICには1文字分(1バイト)送信できればよい。
今回、MIRSの状態として考えられているのは多くとも十数種類であり、1文字分の情報で事足りる。より簡単なプログラムの方が作成、処理ともに楽であるため、1バイト送信を目的とする。
シリアル通信の条件(bps等)は、MIRSの他の機能(超音波センサ等)と同規格とする。
このLED点灯用のシリアル通信は、それほど高速が要求されるわけでもないので、他の機能と足並みをそろえて開発するために同様な条件とする。具体的には、9600bps, 8bit, パリティなし, 非同期 などである。
3. 説明
2番目のCOMポートは、centOS上で /dev/ttyS1 というファイルの扱いになっている。ここに出力を行えばよい。既に用意されている関数に、put_serial_char()という一文字(char型ひとつ分)送信するものがあるので、これを用いる。つくりとしては、超音波センサから値を取得する関数(uss_get())の前半部に近いものとなる。
4. ソース
テスト用に作った実行ファイル用のソースと、分割コンパイルして組み込むように作るオブジェクトファイル用のソースを載せておく。
実行用→serial_test.c
オブジェクト用→serial_tramit.c
関連文書
エレキ(LEDボード)詳細設計書