|
![]() Loading
|
RX-MEGAにMRAYーGBを載せてGPSを受信するMARY-GBは、9600bpsのシリアル通信でGPSのデータを出力してきます。 RX-MEGAにはMARYの拡張基板をのせるコネクタが2つ用意されています。右側のコネクタにMARY-GBを乗せた場合はRXのSCI6Aに、左側に乗せた場合はRXのSCI2Bに接続されます。 どちらがいいかというと、断然、右側のSCI6Aです。 なぜならば、RXマイコンのSCI2Bは、ポートP50と共有されています。RX62NのP50、P51、P52あたりは鬼門中の鬼門で、外部バス(SDRAMなど)を有効にすると、有無を言わさずに外部バス用のポートになってしまうのです。 つまり、SCI2BとSDRAMは同時には使えません。 実際に、MARYコネクタの右側にMARY-GBモジュールを乗せます。 プログラムは簡単なものを作ります。MARY-GBから受信したGPSの文字列を、USB仮想COMポート経由でホストPCに投げるだけの簡単なものです。 このプログラムをROMに書き込んで、装置全体を空が見える窓際に置いて、GPSの受信をしてみます。 すると、以下のようなデータをシリアルに投げてきました。 室内ではうまくGPSを補足できませんでしたが、屋外に出てしばらく置いておいたところ、無事に座標を取得できるようになりました。 作ったプログラムは次のようなものです。 int main() { sci_init(SCI_SCI6A,9600); // SCI6-Aを使う TKUSB_Init(); // USBを使う while(1) { while(sci_rxcount()) { char c = sci_getc(); // GPSから1文字受信 TKUSB_SendByte(c); // それをUSBに投げる } } }
|
|
|