(toppers-users 2974) Re: H8_3069fで割り込み処理(タイマ、シリアル)

jnbswk @ yahoo.co.jp jnbswk @ yahoo.co.jp
2009年 6月 15日 (月) 13:53:29 JST


今井様

度々のアドバイスありがとうございます。


> 問題をシンプルにするため、中級実装セミナー教材よりも
> まず初級実装セミナー教材をご覧になることをお勧めします。
> https://www.toppers.jp/edu-begin.html
タイマが250msecで呼び出される理由はわかりました。
#あせらずに見れば、すぐわかったものを・・・
#お騒がせしました。


しかし依然シリアル通信ができません。
(受信割込み以前に、送信もできません。送信は割込みを使わない
予定です)
どこか、設定に誤りがあるのでしょうか?
以下、ソース抜粋です。
皆様、何かお気づきの点がございましたら、ご指摘ください。
よろしくお願いたします。



ID portid = 2;

ER err = serial_opn_por(portid);

int w;

char cSMR0 = 0;
cSMR0 |= 0x00;			// パリティなし
cSMR0 |= 0x00;			// ストップビット1
cSMR0 |= 0x00;			// データビット8
cSMR0 |= 0x00;			// 9600bps

char cBRR0 = 0;
cBRR0 |= 64;			// 9600bps

*(volatile unsigned char *)(H8SCI0 + H8SMR) = cSMR0;
*(volatile unsigned char *)(H8SCI0 + H8SCR) = 0;
*(volatile unsigned char *)(H8SCI0 + H8BRR) = cBRR0;

for(w=0; w<3000; w++)
	;
*(volatile unsigned char *)(H8SCI0 + H8SCR) = H8SCR_RIE | H8SCR_TE | H8SCR_RE;

w = *(volatile unsigned char *)(H8SCI0 + H8SSR);
*(volatile unsigned char *)(H8SCI0 + H8SSR) = H8SSR_TDRE;

err_unit = serial_wri_dat(portid, &snd[iPb][0], 20);

--------------------------------------
Power up the Internet with Yahoo! Toolbar.
http://pr.mail.yahoo.co.jp/toolbar/