[H8-ML(280)] Re: はじめまして
From: Ko Tanikawa <agape@xxxxxxxxxxxxxxx>
Date: 1999年09月08日(水)19時29分01秒
こんにちは,谷川と申します。

> 僕の環境はみなさんとちょっと違って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
スレッド概略
[表示中](起点)


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]