タイマ制御用ライブラリ
本モジュールは、以下の機能を提供します。
本モジュールはシステムレジスタへのアクセスはサポートしません。
コントローラに対するクロックの供給については『AX51903仕様書』を参照して下さい。
本モジュールは AG903_TIMRMgrGetHandle 使用時に空きCHを検索してハンドルを確保します。 入出力端子と対応させる等の目的で特定CHを確保しなければならない場合は、 これよりも先に AG903_TIMRMgrGetHandleCh で確保して下さい。 またタイマのCH7はデフォルトの状態ではGVDライブラリで使用されているために timrprm.h の AG903_TIMR_CH_NUM の設定により確保できなくなっています。
ハンドルに紐づいているチャネル番号を取得するには AG903_TIMRMgrGetChannel を使用します。
アプリケーションは以下の操作時にチャネル番号が必要になります。
・AG903_TIMRMgrStart()を使用したタイマの複数同時スタート。
・タイマイベント(EVEOUT[7:0])の使用。
・DMACのディスクリプタ設定。(タイマでDMAリクエスト生成時)
本モジュールが動作するために次のライブラリが必要です。
基本シーケンス
<説明>
TIMR使用開始前の初期化
1. タイマへのクロック供給の設定。(システムレジスタで設定。詳細は『AX51903仕様書』参照。)
2. 入出力を使用する場合は外部端子の設定。(システムレジスタで設定。詳細は『AX51903仕様書』参照。)
3. DMAと連動する場合は、DMAをTIMRとハンドシェークしながら転送できるように初期化。
4. イベントで他の機能と連動する場合は、機能モジュールからイベントが出力されるように設定。
5. 依存するモジュール初期化。「AG903_INTMgrInit」
TIMRの初期化
1. モジュール初期化。「AG903_TIMRMgrInit」
2. ハンドル取得。「AG903_TIMRMgrGetHandle」
3. 割込みハンドラ登録。「AG903_TIMRMgrSetIntHandler」 ※割込みを使用しない場合は省略可能。
4. 動作モード設定。「AG903_TIMRMgrSetXXXXXMode」(注1)
5. 割込みマスク解除。「AG903_TIMRMgrDisableIntMask」 ※割込みを使用しない場合は省略可能。
6. タイマ起動。「AG903_TIMRMgrStart」
7. 条件成立で割り込みハンドラ起動。※割込みを使用しない場合は省略。
8. タイマ停止。「AG903_TIMRMgrStop」
9. 割込みマスク。「AG903_TIMRMgrEnableIntMask」 ※割込みを使用しない場合は省略。
10. ハンドル解放。「AG903_TIMRMgrReleaseHandle」
注1:動作モードによって使用する関数が異なります。(下表参照)
動作モード |
関数名 |
ロータリーエンコーダ入力モード | |
PWM入力モード | |
クロック・Tick計測モード | |
内部イベント計測モード | |
入力端子パルス計測モード | |
入力端子レベル計測モード |
注:コントローラに対するクロックの供給を予めシステムレジスタで設定しておく必要があります。詳細は『AX51903仕様書』参照。
名前 |
説明 |
アプリケーションにタイマ制御の為のI/Fを提供します。 | |
マネージャにタイマレジスタアクセスの為のI/Fを提供します。 | |
|