忍者ブログ
グラビアアイドルについて語るブログ。
[20] [19] [18] [17] [16] [15] [14] [13] [12] [11] [10]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

gcc で CQ_V850 アプリ開発をするためにまとめたメモです。インターフェース2007年6月号「TOPPERS OS の移植とライン・トレース・カーの製作事例」のサンプルソースを参考にしています。

今回は16ビット・インターバル・タイマM(TMM)の使い方について、timer_int のソースおよびユーザーズ・マニュアル「V850ES/JG2 ハードウエア編」の「第9章 16ビット・インターバル・タイマM(TMM)」を読んでまとめました。


■TMM0 の設定 (init_timer)

以下の手順で行います。

・TM0CTL0 (TMM0制御レジスタ0) のビット7を0(TMM0 動作禁止)に設定。
・TM0CTL0 のビット0〜ビット2を設定(カウント・クロックの選択)。
・TM0CMP0 (TMM0コンペア・レジスタ0) に値を設定。
・TM0CTL0 のビット8を1(TMM0 動作許可)に設定。

16ビット・カウンタのカウント値と TM0CMP0 レジスタの値が一致すると、16ビット・カウンタをクリアし、TMM0 コンペア一致割り込み要求信号 (INTTM0EQ0) が発生します。

init_timer では割り込み発生の周期を1000msとしていますが、次の式により、適切な TM0CMP0 レジスタの設定値が導き出されます。

インターバル間隔 = (TM0CMP0 レジスタ設定値 + 1) × カウント・クロック周期

timer_int のサンプルでは、割り込みが発生するとハンドラ _interrupt にジャンプしています。


■割り込みの許可 (init_intc)

次の手順で、TMM0 からの割り込みを許可します。割り込み制御レジスタについては、ユーザーズ・マニュアルの19.3.4を参照。

・割り込み制御レジスタ TM0EQIC0 に値を設定します(ビット6で許可/禁止、ビット0〜ビット2で優先度)。

さらに、ei 命令でマスカブル割り込みを許可します。


●関連エントリ
CQ_V850 gccメモ(共通編)
CQ_V850 gccメモ(クロック編)
CQ_V850 gccメモ(LED編)
PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
ブログ内検索
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新コメント
[07/07 tiffany jewelry uk]
[09/17 車載モニター・阿蘇テック]
[08/30 愛]
[06/12 シモネッタ]
[06/11 arms22]
最新トラックバック
フリーエリア
あわせて読みたい
    Firefox 2 無料ダウンロード
    バーコード
    プロフィール
    名前:
    シモネッタ
    性別:
    非公開
    カウンター
    アクセス解析