実現したいこと
TMR0割り込みが入るようにしたい。
環境:PIC18F46Q71、MPLAB X IDE v6.20、XC8 v2.46 C99、MCC v5.5.1 Melody、ICD 4
発生している問題・分からないこと
コンパイルエラーは無く、プログラム書き込みもできますが、TMR0割り込みが入りません。
・MCCで約1秒のTMR0の割り込みを設定しています。
・数年前のPIC16Fの時は、TMR0_SetInterruptHandler(TMR0_Process); でCallback関数を定義し、
TMR0割り込みができていましたが、今の環境では、TMR0_SetInterruptHandler はMCCで
生成されるファイルに無いため、エラーとなり使えません。
・そのため、MCCで生成されるファイルを元に、以下のコードを作成しました。でも、
TMR0割り込みが入らず、C4ポートがLowになりません。
エラーメッセージ
error
1エラーはありません。
該当のソースコード
main.c
1#include "mcc_generated_files/system/system.h" 2 3volatile uint8_t Flag; 4 5void TMR0_DefaultOverflowCallback(void) //1秒割り込み 6{ 7 Flag = 1; 8} 9 10int main(void) 11{ 12 SYSTEM_Initialize(); 13 14 INTERRUPT_GlobalInterruptEnable(); 15 16 IO_RC4_SetHigh(); //C4をHighにする。OK 17 18 while(1) 19 { 20 if(Flag == 1) 21 { 22 Flag = 0; 23 IO_RC4_SetLow(); //ここに来ない 24 } 25 } 26} 27
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
コードが不足しているのだと思いますが、ネットでは情報が見つかりませんでした。
急いでいます。ご指導、お願いいたします。
補足
特になし
![guest](/img/icon/icnUserSample.jpg)
あなたの回答
tips
プレビュー