RS232通信用プリプロセッサのERRORSパラメータ追加で受信OKでした
前回の記事「CCS社Cコンパイラの標準入出力関数は難有り?・・・」でCCS社Cコンパイラの入出力関数gets()がGT-720Fからの受信でフリーズする件、入力関数を使用せずに直接レジスタ操作でUSARTにしていましたが、gets()関数でもRS232通信用プリプロセッサのERRORSパラメータ追加でフリーズせずに受信OKでした。
直接レジスタ操作ではなく関数使えて良かった♪
#use rs232(BAUD = 9600,XMIT = PIN_C6, RCV = PIN_C7,ERRORS)
バイブルとしてこれ読んでたんですが・・・(改訂版出てます)
ERRORS エラー発生を保存する。”RS232_ERRORS”に保存。・・・しか書いてない(笑)

日曜日に用事で成田に行ったのですが、待ち時間の間にCCS社Cコンパイラの代理店データダイナミックスの日本語マニュアルをパラパラ読んでまして
ERRORS 受信の際のエラーを”RS232_ERRORS”に返します。エラーが発生するとポートをリセットします。
あ!これだ(笑)
右が日本語マニュアル・・・直訳でおかしな日本語もありますが・・・
MPLABでビルド時、RS232_ERRORSを使用してない主旨の警告が出ますがプログラムの実行上問題ないようです。
GT-720Fから受信ピンでNMEA文字列をキャラクタLCDに表示し、そのまま送信ピンからパソコンに送ってみました。※デュアルポートではありません。
これを見る限りでは「GPGGA」「GPGSA」「GPRMC」のみ出力してるようです。「GPVTG」は無い・・・



![: トランジスタ技術 (Transistor Gijutsu) 2007年 12月号 [雑誌]](http://ecx.images-amazon.com/images/I/51%2B6xOW4gmL._SL75_.jpg)
























![: トランジスタ技術 (Transistor Gijutsu) 2008年 02月号 [雑誌]](http://ecx.images-amazon.com/images/I/512TT9%2BfugL._SL75_.jpg)













コメント