« RXduino環境でのUSBの使い方 | トップページ | RX62Nでファンクションジェネレータを作る »

2012.01.27

RX-MEGAでMARY-GB(GPSモジュール)を使う

RX-MEGAでMARY-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モジュールを乗せます。
Mega_marygb

プログラムは簡単なものを作ります。MARY-GBから受信したGPSの文字列を、USB仮想COMポート経由でホストPCに投げるだけの簡単なものです。
このプログラムをROMに書き込んで、装置全体を空が見える窓際に置いて、GPSの受信をしてみます。
Marygb

GPSモジュール自体は動いていて1秒ごとにデータを送ってくるのですが、困ったことに肝心の電波が受信できていないようです。

Gps_recv

同じオフィスの中で携帯電話のGPSは動いているので、MARY-GBが壊れてしまったのかもしれません。もしくは、MARY-GBに向かって何かコマンドを送らないと動作を開始してくれないのかもしれません。

作ったプログラムは次のようなものです。


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に投げる
}
}
}

機会があれば追実験をしてみたいと思います。

|

« RXduino環境でのUSBの使い方 | トップページ | RX62Nでファンクションジェネレータを作る »

コメント

見晴らしの良い屋外に出てみてはいかがでしょう?
室内は結構受信できないものです。

投稿: hiro | 2012.01.31 00:10

やっぱりMARY-GBが壊れてしまっているようですね。
空が広く見える場所でやっても衛星数0個なので・・

投稿: なひたふ | 2012.02.01 00:31

コメントを書く



(ウェブ上には掲載しません)




« RXduino環境でのUSBの使い方 | トップページ | RX62Nでファンクションジェネレータを作る »