こんにちは,谷川と申します。
> 僕の環境はみなさんとちょっと違って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