これで下地ができたので割込み処理ルーチンを用意します。
これは画面に"#"を出すだけの単純な処理です。
最初のoutp文はタイムアウトでNMIに対して1を出力したフリップフロップを0にクリアするためです
これは画面に"#"を出すだけの単純な処理です。
最初のoutp文はタイムアウトでNMIに対して1を出力したフリップフロップを0にクリアするためです
void intr2(void) { outp(TMR_LAT,0x00); /* End Of Interrupt */ putcom('#'); }
最後にアプリケーション側の対応です。
割込み待ちの無限ループ(「・」を連続出力)中にタイマ割り込みが発生して「#」が出力されるはずです
割込み待ちの無限ループ(「・」を連続出力)中にタイマ割り込みが発生して「#」が出力されるはずです
int main(void) { tmr_start(3); /* timer start */ while(1){ /* interrupt monitor */ putcom('.'); } }
所々2発割込みが入ってるのが何か変。