git clone:
$ git clone https://github.com/satoshishimizu/mae_h8_3069f.git |
src/02/bootloaderソースをベースに変更していきます。
まず最初にLED1/LED2を点灯させる為に回路図を確認。
H8-3069FマイコンとCN2との接続は作成中ですが、下記接続であることを確認。
LED1<->21port (LCD-LED-DIP)22port<-> 11port (CN2A) <->11port (CN2) <->25port D6/P46 (H8-03069)->->
LED2<->23port (LCD-LED-DIP)24port<-> 12port (CN2A) <->12port (CN2) <->26port D7/P47 (H8-03069) ->->
次にD6/P46とD7/P47はポート4に含まれるので、付属のCD-ROM内の入っている「H8/3069 ハードウェアマニュアル」の8.5 ポート4 のレジスタ構成を参照する。
ポート4 レジスタ構成
Address | Name | 略称 | R/W | init |
H'EE003 | ポート4データディレクションレジスタ | P4DDR | W | H'00 |
H'FFFD3 | ポート4データレジスタ | P4DR | R/W | H'00 |
H'EE03E | ポート4入力プルアップMOSコントロールレジスタ | P4PCR | R/W | H'00 |
P4DDR:(ポート4データディレクションレジスタ)
ポート4端子の入出力をビットごとに指定することができるようです。
P40~P47の8portに対して入出力をport毎に設定できる。
P4DDR register | input | output |
value | 0 | 1 |
P4DR:(ポート4データレジスタ)
8bit のR/Wレジスタ。P4DRはリセット、またはハードウェアスタンバイモード時にH'00に初期化される。ソフトウェアスタンバイモード時には、直前の状態を保持するようです。
P4PCR:(ポート4入力プルアップMOSコントロールレジスタ)
H8マイコンには、プルアップ回路が内蔵されている。各端子毎にプルアップをON/OFFできる。
つまり、P4DDR = 1100 0000 = 0xC0 / P4DR = 1100 0000 = 0xC0に設定
7bit | 6bit | 5bit | 4bit | 3bit | 2bit | 1bit | 0bit | |
Port | P47 (LED2) 緑 |
P46 (LED1) 赤 |
P45 | P44 | P43 | P42 | P41 | P40 |
P4DDR register value | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
P4DR register value | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
ソース:
int main(void) { serial_init(SERIAL_DEFAULT_DEVICE); puts("-----------------Led1 and 2 is Light start!!\n"); unsigned char *p4ddr = (unsigned char *)0xfee003; unsigned char *p4dr = (unsigned char *)0xffffd3; puts("*p4ddr="); putxval(*p4ddr, 0); puts("\n"); puts("*p4dr="); putxval(*p4dr, 0); puts("\n"); puts("----------------------------------------------\n"); /* p4ddr(P46 and P47) output setting 0x0c = 1100 0000 */ /* p4dr (P46 and P47) output 0x0c = 1100 0000 */ *p4ddr = 0xc0; *p4dr = 0xc0; puts("----------------------------------------------\n"); puts("*p4ddr="); putxval(*p4ddr, 0); puts("\n"); puts("*p4dr="); putxval(*p4dr, 0); puts("\n"); puts("-----------------end\n"); return 0; } |
実行結果(シリアル通信):
p4ddrの値が0xC0を書き込んでいるつもりが、0xffとなり書き変わっていない??なぜ??
p4drはP47/46に該当するbitが1出力されている。
-----------------Led1 and 2 is Light start!! *p4ddr=ff *p4dr=0 ---------------------------------------------- ---------------------------------------------- *p4ddr=ff *p4dr=c0 -----------------end |
p4ddr出力設定、p4dr該当bit出力されいるので、LED1/2点灯しました。
次回は、LED点灯ができたので、LED点滅をさせてみたいと思う。
タイマー割り込みを使い一定時間点灯、消灯を繰り返し点滅制御に進んでみよう。
でも、なぜp4ddrが書き変わらないのか?
初期値0のはずだが、なぜ0xffなのかについてもちょこちょこ調べていく予定。
この時点のソースをpushしておく。こんな感じでできました。
git cmd:
sto@sto-PC ~/src $ git add 02-1/ sto@sto-PC ~/src $ ll 合計 0 drwxr-xr-x+ 1 Administrators None 0 6月 28 11:39 01/ drwxr-xr-x+ 1 Administrators None 0 6月 28 11:39 02/ drwxr-xr-x+ 1 Administrators None 0 7月 5 21:35 02-1/ drwxr-xr-x+ 1 Administrators None 0 6月 28 11:39 03/ drwxr-xr-x+ 1 Administrators None 0 6月 28 11:39 04/ drwxr-xr-x+ 1 Administrators None 0 6月 28 11:39 05/ drwxr-xr-x+ 1 Administrators None 0 6月 28 11:39 06/ drwxr-xr-x+ 1 Administrators None 0 6月 28 11:39 07/ drwxr-xr-x+ 1 Administrators None 0 6月 28 11:39 08/ drwxr-xr-x+ 1 Administrators None 0 6月 28 11:39 09/ drwxr-xr-x+ 1 Administrators None 0 6月 28 11:39 10/ drwxr-xr-x+ 1 Administrators None 0 6月 28 11:39 11/ drwxr-xr-x+ 1 Administrators None 0 6月 28 11:39 12/ drwxr-xr-x+ 1 Administrators None 0 7月 5 17:31 tools/ sto@sto-PC ~/src $ git commit -m "LED1 and LED2 Ligth" [master 4f11c2d] LED1 and LED2 Ligth 12 files changed, 553 insertions(+) create mode 100755 02-1/bootload/KL-01 create mode 100755 02-1/bootload/LICENSE create mode 100755 02-1/bootload/Makefile create mode 100755 02-1/bootload/defines.h create mode 100755 02-1/bootload/ld.scr create mode 100755 02-1/bootload/lib.c create mode 100755 02-1/bootload/lib.h create mode 100755 02-1/bootload/main.c create mode 100755 02-1/bootload/serial.c create mode 100755 02-1/bootload/serial.h create mode 100755 02-1/bootload/startup.s create mode 100755 02-1/bootload/vector.c sto@sto-PC ~/src $ git log commit 4f11c2d201b65123890158d589353dac7c4eff9d Author: xxxxxxxxxxxxx Date: Fri Jul 17 00:14:41 2015 +0900 LED1 and LED2 Ligth commit 6305a7cff719f64a2f9f28316f9be6d7ac49b72b Author: xxxxxxxxxxxx Date: Tue Jun 30 23:17:07 2015 +0900 test sto@sto-PC ~/src $ git push origin master:master |
ソース:
https://github.com/satoshishimizu/mae_h8_3069f.git
0 件のコメント:
コメントを投稿