P4:LCD 表示成功!
昨日で配線は終わったので、今日は LCD 表示のテストプログラムを作るところから。といっても、H8/OSのサンプルプログラムをチョコチョコといじくるだけ。のはずだったが、ポートの設定を自前でしなくてはならないので、オリジナルの H8/3067 のデータシートをダウンロードしたり、H8/3664 の設定レジスタを調べたりと時間がかかる。LCD をつないだポート(P56)は 3664N では出力に設定しないでくださいとあって焦ったが、I2C コントローラーとかぶっているだけみたいなので、ままよとプログラムを動かしてみる。
プログラムを CPU に転送するのがうまくいかず、10回近くかかったが、正常に転送されたあとは一発で動いた。
今日はここで時間切れ。
-----
忘れていたが、H8/OS のページにある RAM 転送プログラムは速い PC ではうまく動かない。
さて、どうしたものかとソースを見ると -w オプションで wait を入れられるじゃありませんか。
これで次からは大丈夫だ。
----
ソースはこんな感じ
プログラムを CPU に転送するのがうまくいかず、10回近くかかったが、正常に転送されたあとは一発で動いた。
今日はここで時間切れ。
-----
忘れていたが、H8/OS のページにある RAM 転送プログラムは速い PC ではうまく動かない。
さて、どうしたものかとソースを見ると -w オプションで wait を入れられるじゃありませんか。
これで次からは大丈夫だ。
----
ソースはこんな感じ
#include "../h8os/syscall.h"
#include "../h8os/reg3664.h"
int main() /* C1-19 C1-18 C2-03 C1:17 C1:16 C1:15 C1:14 */
{ /* RS:55 RW:54 E:56 D7:53 D6:52 D5:51 D5:50 */
unsigned char lcdport[] = {0x20, 0x10, 0x40, 0x08, 0x04, 0x02, 0x01};
PMR5 = 0x00;
PCR5 = 0x7F;
lcd_setup(2, 16, &PDR5, lcdport);
lcd_clear();
write_mode(LCD);
/* 1234567890123456 */
write_string("CPU is H8/3664\n");
write_string("H8OS is ready!");
}
トラックバック(0)
このブログ記事を参照しているブログ一覧: P4:LCD 表示成功!
このブログ記事に対するトラックバックURL: http://www.co-mind.info/cgi-bin/mt/mt-tb.cgi/1075