Blankこんにちはh8/3048を6ヶ月前から使い始めた金と申します。
watch dog timerをinterval timerとして使ってますが。
initwdt()が実行され割り込みが掛かったときに割り込み関数は50msで周期的に実行
されますが。
もとのメーン関数は最初から続けて繰り返されendwdt()まで行かないんです。
下にcコードの関連部分を乗せますが誰かご存知でしたら教えてもらえませんか。
割り込み処理時間はほんのわずかです。
void int_wovi(void) /* interval timer interrupt */
{
/* 割り込み後の処理 */
/ * TCNTに61を書き込むとほぼ50msecの割り込みを発生する */
WDT.WRITE.TCSR = 0x5A3d; /* TCNT =61 */
WDT.READ.TCSR.BIT.OVF; /* OVFダミーリード */
/ * OVFを読み、OVFをリセットすることにより、割り込みフラグを解除する */
WDT.WRITE.TCSR = 0xA53f; /* OVF リセット */
/* ここから 割り込み処理関数*/
...........
}
void initwdt(void){
WDT.WRITE.TCSR = 0xA53f; /* タイマ起動 */
}
void endwdt(void){
WDT.WRITE.TCSR = 0xA51f; /* タイマ停止 */
}
main()
{
....
intwdt();
...
endwdt()
...
}
^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
Kim SungSik, Master Course
Dept. of Electrical Eng. The Univ. of Tokyo
sskim@xxxxxxxxxxxxxxxxxxxxx, http://dfs.iis.u-tokyo.ac.jp
tel:81-3-5452-6258(Lab), 81-90-6163-7524(cell phone)