こんにちは,谷川と申します。 > 僕の環境はみなさんとちょっと違ってYellowSof >tさんの開発キットとリモートデバッカのイエロースコープ >を使っています。 私も同じです。 (^^) ボードはもっぱら秋月のを使っています が・・・ ところで, YellowSoft の C コンパイラって,関数のプロト タイプ宣言は出来ない仕様なんでしょうか? > 僕はYellowSoft製のCコンパイラの割込応答処 >理にはいるまでの遅延に泣かされました(まぁCの関数に飛 >ぶのでレジスタを全部待避させるから仕方がないんだけど) これなんですが,私も割り込み関連でちょっとはまりました。 よろしければ少しお教えください。 割り込みが入った時点で,その割り込みを禁止して時間のかか る処理を行い,処理が完了したら再び割り込みを許可する,と いうことをやっています。 H8 のドキュメントによると,割込み禁止中に入った割り込み も保留されていると言うことなので,「再び割り込みを許可す る」前に,割り込みフラグをクリアしているのですが,クリア した直後に「再び割り込み許可する」と,保留されていた割り 込みが発生してしまうことが,時々ありました。 それで,適当な (100ms ぐらい ) のデッドタイムを設けてい るのですが,これはこうするしかないのでしょうか? 本業は Windows のプログラマなので,「割り込み」を自分で 処理することには非常に疎いんです。 (^^;) ------------------------------------------------------- void interrupt IRQ0(void) { /* IRQ 割込み禁止 */ IER = 0x00; /* ・・・何かの処理・・・ */ /* 割り込み禁止中に保留された割り込みをクリアするため */ /* IRQ 割り込みフラグ解除 */ ISR = 0x00; /* デッドタイム 100ms */ fnSleep(100); /* IRQ 0 割り込み許可*/ IER |= 0x01; } ------------------------------------------------------- 今後ともよろしくお願い致します。 Thanks in advance, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Koichi Tanikawa agape@xxxxxxxxxxxxxxx