DSTni-EX タイマー割込み
先週金曜に検討した方法を試してみた。
見事成功しました。
start.cへタイマー割り込みの初期化及びstaticで割り込み関数定義
割り込み関数はinterrupt 指定が必要です
初期化は
・割り込みベクター(18番)へ割り込み関数ライト
・タイマーカウンター1の初期化
・タイマー1コンペアマッチレジスタAの設定(12000)
・タイマー1コントロールレジスタの設定(0xc1)
static割り込み関数では
・割り込み関数実態の呼び出し(main.cに記述)
・EOI設定(UG_a6参照)
注意点
割り込み関数内ではprintf等の他のタスクと競合する可能性があるファンクションを使 用するとシステムがフリーズする場合があるので十分注意してください
■1ミリ周期ハンドラの精度
とりあえずXPORT開発キット(マイクロITRON4.0)のサンプルのmain.cにインプリメントしてみた。ネットワークは未使用といったものだが、このサンプルで±100マイクロ秒であった。
見事成功しました。
start.cへタイマー割り込みの初期化及びstaticで割り込み関数定義
割り込み関数はinterrupt 指定が必要です
初期化は
・割り込みベクター(18番)へ割り込み関数ライト
・タイマーカウンター1の初期化
・タイマー1コンペアマッチレジスタAの設定(12000)
・タイマー1コントロールレジスタの設定(0xc1)
static割り込み関数では
・割り込み関数実態の呼び出し(main.cに記述)
・EOI設定(UG_a6参照)
注意点
割り込み関数内ではprintf等の他のタスクと競合する可能性があるファンクションを使 用するとシステムがフリーズする場合があるので十分注意してください
■1ミリ周期ハンドラの精度
とりあえずXPORT開発キット(マイクロITRON4.0)のサンプルのmain.cにインプリメントしてみた。ネットワークは未使用といったものだが、このサンプルで±100マイクロ秒であった。