LEDを点灯させてみる(4)
タイマ割り込みの初期設定について書きたいと思います。
タイマ割り込みの設定
参考サイトの「S08ではじめるマイコン制御プログラミング(4)− LEDの制御に時間の概念を取り入れる」と同様に、0.5s間隔でLEDを点灯させるプログラムにしたい思います。
そこで、参考サイトと同様にRTCを用いて0.5s割り込みを設定したいと思います。RTCレジスタの設定は下記の表です。
0.5sの割り込みを設定するためには、参考サイトと全く同じ設定となります。
RTCSC_RTCLKS = 0; //RTCLKSとRTCPSで割り込み時間を決める。 RTCSC_RTCPS = 14; //RTCLKS=0とRTCPS=14で500msとなる RTCSC_RTIE = 1; //リアタイムカウンタの割り込みを許可する
Table.7-16を見ると、RTCLKS=00として、RTCPS=14(1110B)とすれば、割り込み間隔が0.5sになります。そこで、これを設定して初期化終了なので、リアルタイムカウンタの割り込みを許可して初期化を終了します。
これで、初期化が終了です。もう一度、mcu_init()関数を書きます。
void mcu_init(void){ SOPT1_COPT = 0; //WatchDogTimerの停止 //LED接続ポートのOUTPUT設定 PTEDD_PTEDD2 = 1; PTEDD_PTEDD3 = 1; PTFDD_PTFDD0 = 1; PTFDD_PTFDD1 = 1; PTCDD_PTCDD2 = 1; PTCDD_PTCDD4 = 1; PTFDD_PTFDD5 = 1; PTDDD_PTDDD2 = 1; //キーボード割り込みの設定 KBI1PE_KBIPE0 = 1; //キーボード割り込みポート0をセット PTGPE_PTGPE0 = 1; //ポートG0をプルアップする KBI1PE_KBIPE1 = 1; //キーボード割り込みポート1をセット PTGPE_PTGPE1 = 1; //ポートG0をプルアップする KBI1PE_KBIPE6 = 1; //キーボード割り込みポート2をセット(KBIPE6に注意) PTGPE_PTGPE2 = 1; //ポートG0をプルアップする KBI1SC_KBIE = 1; //KBI1のキーボード割り込みを許可する RTCSC_RTCLKS = 0; //RTCLKSとRTCPSで割り込み時間を決める。 RTCSC_RTCPS = 14; //RTCLKS=0とRTCPS=14で500msとなる RTCSC_RTIE = 1; //リアタイムカウンタの割り込みを許可する return ; }
次は、キー割り込みとタイマ割り込みの処理について説明したいと思います。
本当にやりたいことリスト
(ブログの終わりにやりたいことを書いておきたいと思います)
- 求職活動・・・このブログで興味を持った人一声かけてください。m(_ _)m
- Androidプログラム
- Web系のプログラム