2009年7月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

最近のトラックバック

無料ブログはココログ

役に立ったAVRマイコンの本

読書

2009年7月13日 (月)

C言語でGPGGAに加えGPRMCから文字を抽出・・・

LCD表示のレイアウトはイマイチですが・・・

gprmc_01.JPG

2行目は前回と同様GPGGAから緯度の文字列をそのまま表示したもの

3行目は前回の緯度に加え経度の文字列を数値に変換して度数計算したもの

4行目はGPRMCから速度(ノット)と方位角を表示したものです。とりあえず文字列そのままです。

gprmc_02.JPG

面倒だからマスキングはやめました(笑)

GT-720Fを少し動かすと速度出ます!方位角は固定測位だと数値が安定しません。当然ですが・・・

これに電子コンパス組み合わせたら凄いよな・・・

gprmc_03.JPG

gprmc_04.JPG

次は球面三角法から目標点に対する直線距離と方位角を算出させて見たいと思います・・・

11日土曜日に逗子から三浦までサイクリング・・・コース選定ミス(笑)

結果はまあまあでしたが期末試験も終わり、

息子が「運動不足だからサイクリングがしたい」

おお!ありがたい(笑)

私、「で!コースはどこにする?」

懲りずにまたこの本を見る(笑)

IMG_3096.JPG

「ここに行きたい!」・・・GT-720Fの自転車運用は間に合わないので紙地図をコピー(笑)

逗子から三浦へ往復のルート・・・サイクリングロードでは無く一般道(車道)なんだよなぁ~いやな予感が・・・

IMG_3097.JPG

出足が遅くて行きはアクアラインを使う。

IMG_3076.JPG

IMG_3078.JPG

ベイブリッジも久しぶり・・・

IMG_3081.JPG

横横道路から逗葉新道で逗子海岸に出て、調べてあった披露山公園の駐車場へ向かう・・・

しかし海岸線国道134号から入る道が解らず、鎌倉まで出てナビ見ながら狭い裏道で戻ってなんとか到着・・・

IMG_3082.JPG

ここの駐車場も夕方4時30分にゲートが閉まる・・・

高台にあって帰りの登りがキツそう・・・

IMG_3083.JPG

混雑している逗子駅前を抜け・・・

IMG_3084.JPG

海岸に出て、国道を逸れて海沿いの道へ

IMG_3085.JPG

車道は恐いよ(笑)

IMG_3086.JPG

IMG_3087.JPG

車が気になって変な写真ばかり(笑)

IMG_3088.JPG

葉山を抜け、三浦で大楠山へ乗ろうとしたのですが、ダートなので断念・・・

IMG_3089.JPG

海に出て笠島マリーナだったかな?そこで昼食・・・はまゆう丼です。高いよトホホ・・・

IMG_3091.JPG

のら猫が魚を狙ってやってきます(笑)

IMG_3090.JPG

IMG_3094.JPG

写真はこれしか無いです(笑)帰りの駐車場への登りはキツかった・・・

コンビニで水分補給するも海水浴ギャルにジロジロ見られて・・・(笑)

IMG_3095.JPG

帰りはアクアラインを使わずに湾岸線で・・・

出掛けるとPAでいつも貰ってくるハイウエーウオーカー・・・あっ戸田恵梨香だ!

そういえば前回も戸田恵梨香だった・・・カワイイよな(笑)

IMG_2817.JPG

海水浴客で混雑してて、一般道で自転車だと車が恐い・・・

次回はサイクリングロードにしよう

ここんとこ外走ってなかったからかなり体鈍ってます(泣)

 

未完成ですがジムニーで移動運用・・・

10日の金曜日に用事があったので少々・・・

GT-720Fはビニールテープでダッシュボードに固定・・・

gps_ja12_01.JPG

歯医者の駐車場(笑)・・・虫歯が有るのではなく月一度の検査です。

gps_ja12_02.JPG

gps_ja12_03.JPG

帰りにスーパーの駐車場で(笑)

今日は息子とカレーを作るのだ!

gps_ja12_04.JPG

計算は合ってるって当たり前(笑)

 

2009年7月11日 (土)

はまゆう丼

はまゆう丼

三浦市に居る

三浦市に居る サイクリング

2009年7月 9日 (木)

C言語でなんとかGT-720Fの文字列を処理出来た♪ビデオ

詳細は「C言語でなんとかGT-720Fの文字列を処理出来た♪」を見て(笑)

C言語でなんとかGT-720Fの文字列を処理出来た♪

C言語・・・勉強の日が浅いのでかなり手こずった(笑)

ここまで出来れば後は同様の処理なのでなんとか形になると思う。

アセンブラの時はGT-720Fの文字列をキャラクタ液晶にそのまま表示しただけでしたが・・・

※;液晶に数値を表示する時もテーブルを参照して数字文字に置き換えなければならない

画像はアセンブラの時のもの

gps13m.jpg

C言語では文字列を配列に格納する。クセがあって手こずりましたが、アセンブラと似たプロセスで1文字づつ処理して何とか出来ました。

メモ;配列はテーブルと同様にエンドポイントを0で識別している。設定配列数をオーバーすると変なアドレスにジャンプして動作がおかしくなるのはアセンブラと同じ。

もしかしたら、もっとスマートな手法があるかもしれませんが(笑)

また、C言語なら文字列を数値、それも浮動小数点実数に変換できる関数がありますから下記のようなことも出来ます♪

gps_c02.JPG

NMEA-0183では緯度(経度も同様)が3537.4560と出力される。

これは35度37.4560分の意味である。

度に換算すると35+37.4560/60=35.6242となる。変数は浮動小数点実数に変換されていますので球面三角法の公式を使って2地点の最短距離を算出したりも出来ちゃうと思う(笑)

メモリが許せばですが(笑)

文字列の数値変換

      idol = atof(idodo) + atof(idohn)/60; //数値変換
      lcd_cmd(0x94); //3行目
      printf(lcd_data,"=%2.4fdeg",idol);

getc()関数で1文字受信したら直ちにパソコンに送信する簡単な関数を作ったので同時にこんなことが出来ます。

unsigned char getc_p()
{
//  char data1;
    data1=getc();
    printf("%C",data1);
    return data1;
}

gps_c01.JPG

これを見る限りでは測位状態だと3回に1回、GPGSVセンテンスが出力されている?

それともプログラムの影響かな(笑)

I2C EEPROM の書込、読み出しテストもできた♪

手持ちのI2C EEPROM AT24C256B があったのでブレッドボードで仮接続して書込、読み出しテストまで終了した。

i2c_01.JPG

1個しかないのでアドレスA0,A1,A2は000で・・・

i2c_02.JPG

16F877AテストボードにもI2C通信用にピンを立ててあったのでそこへ接続・・・

i2c_03.JPG

本当はSRAMを使った方が書込速度や容量、コンパクト性の面で有利なんですが、接続が多いし、表面実装部品のハンダ付けもしたことないし・・・これだけハンダ付けしてても、いまだに下手だし(笑)

今回、EEPROMは256kbitですが、1MbitのものもあるしI2Cならパラレルに接続できるし、これでログ取ってみるつもり・・・

緯度・経度のテキストのみで記録インターバルが5秒置きくらいならなんとかなるかなぁ?(笑)

追記;こんな本読んで勉強してます。

IMG_3055.JPG

 

2009年7月 7日 (火)

RS232通信用プリプロセッサのERRORSパラメータ追加で受信OKでした(ビデオ)

詳細は「RS232通信用プリプロセッサのERRORSパラメータ追加で受信OKでした」を見て(笑)

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”に保存。・・・しか書いてない(笑)

IMG_3056.JPG

日曜日に用事で成田に行ったのですが、待ち時間の間にCCS社Cコンパイラの代理店データダイナミックスの日本語マニュアルをパラパラ読んでまして

ERRORS 受信の際のエラーを”RS232_ERRORS”に返します。エラーが発生するとポートをリセットします。

あ!これだ(笑)

右が日本語マニュアル・・・直訳でおかしな日本語もありますが・・・

IMG_3054.JPG

MPLABでビルド時、RS232_ERRORSを使用してない主旨の警告が出ますがプログラムの実行上問題ないようです。

c_232_06.jpg

GT-720Fから受信ピンでNMEA文字列をキャラクタLCDに表示し、そのまま送信ピンからパソコンに送ってみました。※デュアルポートではありません。

c232_06.jpg

c232_05.JPG

c_232_05.JPG

これを見る限りでは「GPGGA」「GPGSA」「GPRMC」のみ出力してるようです。「GPVTG」は無い・・・

«CCS社Cコンパイラの標準入出力関数は難有り?・・・

フォト

役に立ったPIC書籍リスト