加治/SYA11
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[加治/授業関係]]
*temp [#la8105d3]
***参考フロー [#ybbc88af]
PDF578ページ
*** [#v421844c]
+RDRFが1になる(文字が来るってこと)までまつ.
+文字を受け取る
+SSRをクリア
***GPSのPIN [#p1cf9219]
-1 NC 接続すると壊れる
-I/OがIはGPSからみてインプット
-pin2 MODEはロー固定
-7 VBCK Vバックアップ
-8 GND接続
-10 VANT
***未整理 [#fc9a9366]
-1PPSの1秒周期のうち最初の500msの立ち上がりの時にデータを出力する
-PDF40ページ
--GPSの時間と緯度を表示するところ
-欲しい情報は
--GPGGA(緯度経度の情報)
--GPZDA(時間の情報)
***GPS使うための初期化(ヒント) [#la52c2c2]
-フローをみましょう。578ページ。それに使われてるレジスタをイニシャライズしましょう。
gps_init()
{
PADR=0x00; //リセット状態
SCR=0x00; //
SMR=0x00; //
BRR=0x81; //ボーレート4800bps
ウェイト
SCR=0x ; //
ウェイト
PADR=0x01; //リセット解除
RDR=0x00; //受信したデータを格納するレジスタ
}
***defineする分 [#jb978090]
&SMR=H'FFFC0&br;
&BRR=H'FFFC1&br;
&SCR=H'FFFC2&br;
&TDR=H'FFFC3&br;
&SSR=H'FFFC4&br;
&RDR=H'FFFC5&br;
&SCMR=H'FFFC6&br;
&PADDR=H'EE009&br;
&PADR=H'FFFD9&br;
&PBDDR=H'EE00A&br;
***使用しないレジスタ(?) [#m9a80757]
-RSR
--シリアルデータを受信しパラレルデータにするためのレジスタだが、プロセッサからは直接読み書きできないから使用しない。このレジスタに入ったデータは変換されRDRに保存される
***使用するレジスタ [#pe5ccce5]
|レジスタ名|gps_init()で使用しているか|
|SMR|◯|
|BRR|◯|
|RDR ||
|SSR ||
|SCR|◯|
|PADDR ||
|PADR|◯|
|PBDDR ||
***SMRの設定値(H8マニュアルのPDF544ページより。) [#x47a405c]
-bit7:C/^A=0;
--調歩同期式モードで、GPSはシリアルコミュニケーションインターフェース(SCMRのSMIFビットは0)だから
-bit6:CHR=0;
--データ長は8bitだから
-bit5:PE=0;
--パリティビットの無効化。しかも初期値だから0
-bit4:O/^E=0;
--パリティビットは無効だからどっちにしても関係ないし、初期値が0だから0
-bit3:STOP=0;
--ストップビットは1だから
-bit2:MP=0;
--どちらに設定しても良いが、マルチプロセッサみたいな複雑そうな奴にしたくないから0
-bit1:CKS1=0
-bit0:CKS0=0
***BRRの設定値(H8のマニュアルのPDF563ページより。) [#yed7d26e]
通信レートが48000bpsなので、
n=0
Φ(clk(MHz))が20なので、
N=129
よって、BRRは129=0x81
PADRの設定値
PA-0はGPSのRST_Nが来てる
RST high→リセット解除(GPS動く) low->リセット(電源入ってしばらくはこっち)
RST_Nを20ms以上ローにしておかないとGPS動かない
なのでこの8ビットのレジスタBRRは0x81に設定する。
*ボードに処理させるまでの流れ [#g2e7ddfd]
**ボードの準備 [#q43cdc93]
+電源つけるな
+チップ上のdipスイッチのビットが1番目から順に[ON OFF ON OFF]になっているか確認
+シリアル接続
+ターミナルソフト立ち上げ
+電源投入
**Cygwinに環境をインストール [#j7480404]
**/home/userにcd [#b77974de]
-h8ram.shがあることを確認
**ソース書き [#k06aedf8]
**コンパイル [#c9267855]
sh h8ram.sh file(.c)
**マイコンに転送 [#h18c86c8]
put file.mot com1〜4
-comポートはデバイスマネージャから何番ポートを使用している確認できる
**実行 [#mb6dd915]
***ターミナルソフトの設定 [#c5b9f3d4]
シリアル通信に対応したターミナルから、
-通信レート(ちゃんと設定しないと何も表示されない)
--57600bps
-データ長
--8bit
-ストップビット
--1
-パリティ
--ハードウェア(PuTTYにもTeratermにも項目なし。よくわからん)
***実行 [#s8c25a2c]
ターミナルソフトからシリアル接続し、
exec ffde40
**再度コード編集に戻るとき [#lcf982d7]
-シリアル転送は排他なのでどちらかが通信しているときは他のプログラムから通信できない
-ターミナルソフトを殺してからCygwinの転送コマンドを実行すること
**LEDを光らせる [#w2dbb013]
***仕様 [#a453ec7d]
-マイコン
--H8-3069
-LED1
--色
---赤
--ポート
---P4-6/D-6(P4-6という機能と、D6という機能を持っているという意味?らしい)
-LED2
--色
---緑
--ポート
---P4-7/D-7
-注釈
--ここで、P4ってのは、ポート4ってことらしい
--H8の仕様書(h8_3069f.pdf)の36(PDFの)ページ、内部ブロック図より
*** [#ycf5d335]
終了行:
[[加治/授業関係]]
*temp [#la8105d3]
***参考フロー [#ybbc88af]
PDF578ページ
*** [#v421844c]
+RDRFが1になる(文字が来るってこと)までまつ.
+文字を受け取る
+SSRをクリア
***GPSのPIN [#p1cf9219]
-1 NC 接続すると壊れる
-I/OがIはGPSからみてインプット
-pin2 MODEはロー固定
-7 VBCK Vバックアップ
-8 GND接続
-10 VANT
***未整理 [#fc9a9366]
-1PPSの1秒周期のうち最初の500msの立ち上がりの時にデータを出力する
-PDF40ページ
--GPSの時間と緯度を表示するところ
-欲しい情報は
--GPGGA(緯度経度の情報)
--GPZDA(時間の情報)
***GPS使うための初期化(ヒント) [#la52c2c2]
-フローをみましょう。578ページ。それに使われてるレジスタをイニシャライズしましょう。
gps_init()
{
PADR=0x00; //リセット状態
SCR=0x00; //
SMR=0x00; //
BRR=0x81; //ボーレート4800bps
ウェイト
SCR=0x ; //
ウェイト
PADR=0x01; //リセット解除
RDR=0x00; //受信したデータを格納するレジスタ
}
***defineする分 [#jb978090]
&SMR=H'FFFC0&br;
&BRR=H'FFFC1&br;
&SCR=H'FFFC2&br;
&TDR=H'FFFC3&br;
&SSR=H'FFFC4&br;
&RDR=H'FFFC5&br;
&SCMR=H'FFFC6&br;
&PADDR=H'EE009&br;
&PADR=H'FFFD9&br;
&PBDDR=H'EE00A&br;
***使用しないレジスタ(?) [#m9a80757]
-RSR
--シリアルデータを受信しパラレルデータにするためのレジスタだが、プロセッサからは直接読み書きできないから使用しない。このレジスタに入ったデータは変換されRDRに保存される
***使用するレジスタ [#pe5ccce5]
|レジスタ名|gps_init()で使用しているか|
|SMR|◯|
|BRR|◯|
|RDR ||
|SSR ||
|SCR|◯|
|PADDR ||
|PADR|◯|
|PBDDR ||
***SMRの設定値(H8マニュアルのPDF544ページより。) [#x47a405c]
-bit7:C/^A=0;
--調歩同期式モードで、GPSはシリアルコミュニケーションインターフェース(SCMRのSMIFビットは0)だから
-bit6:CHR=0;
--データ長は8bitだから
-bit5:PE=0;
--パリティビットの無効化。しかも初期値だから0
-bit4:O/^E=0;
--パリティビットは無効だからどっちにしても関係ないし、初期値が0だから0
-bit3:STOP=0;
--ストップビットは1だから
-bit2:MP=0;
--どちらに設定しても良いが、マルチプロセッサみたいな複雑そうな奴にしたくないから0
-bit1:CKS1=0
-bit0:CKS0=0
***BRRの設定値(H8のマニュアルのPDF563ページより。) [#yed7d26e]
通信レートが48000bpsなので、
n=0
Φ(clk(MHz))が20なので、
N=129
よって、BRRは129=0x81
PADRの設定値
PA-0はGPSのRST_Nが来てる
RST high→リセット解除(GPS動く) low->リセット(電源入ってしばらくはこっち)
RST_Nを20ms以上ローにしておかないとGPS動かない
なのでこの8ビットのレジスタBRRは0x81に設定する。
*ボードに処理させるまでの流れ [#g2e7ddfd]
**ボードの準備 [#q43cdc93]
+電源つけるな
+チップ上のdipスイッチのビットが1番目から順に[ON OFF ON OFF]になっているか確認
+シリアル接続
+ターミナルソフト立ち上げ
+電源投入
**Cygwinに環境をインストール [#j7480404]
**/home/userにcd [#b77974de]
-h8ram.shがあることを確認
**ソース書き [#k06aedf8]
**コンパイル [#c9267855]
sh h8ram.sh file(.c)
**マイコンに転送 [#h18c86c8]
put file.mot com1〜4
-comポートはデバイスマネージャから何番ポートを使用している確認できる
**実行 [#mb6dd915]
***ターミナルソフトの設定 [#c5b9f3d4]
シリアル通信に対応したターミナルから、
-通信レート(ちゃんと設定しないと何も表示されない)
--57600bps
-データ長
--8bit
-ストップビット
--1
-パリティ
--ハードウェア(PuTTYにもTeratermにも項目なし。よくわからん)
***実行 [#s8c25a2c]
ターミナルソフトからシリアル接続し、
exec ffde40
**再度コード編集に戻るとき [#lcf982d7]
-シリアル転送は排他なのでどちらかが通信しているときは他のプログラムから通信できない
-ターミナルソフトを殺してからCygwinの転送コマンドを実行すること
**LEDを光らせる [#w2dbb013]
***仕様 [#a453ec7d]
-マイコン
--H8-3069
-LED1
--色
---赤
--ポート
---P4-6/D-6(P4-6という機能と、D6という機能を持っているという意味?らしい)
-LED2
--色
---緑
--ポート
---P4-7/D-7
-注釈
--ここで、P4ってのは、ポート4ってことらしい
--H8の仕様書(h8_3069f.pdf)の36(PDFの)ページ、内部ブロック図より
*** [#ycf5d335]
ページ名: