Khai báo biến khi ngắt timer1
Chào các bác cho em hỏi vì về khai báo biến khi dùng ngắt timer1. Em khai báo biến ở main và tại sao phải khai báo trong chương trình xử lý ngắt 1 lần nữa thì mới chạy không thì báo lỗi, nhưng biến trong main và trong chương trình xử lý hầu như ko liên quan gì nhau!!! em đang rất cần các bác giúp em, em cám ơn! hic hic
Đây là code của em: #include "p30f4011.h" #include "config.h" #include "Console.h" #include "Compiler.h" #include "SymbolTime.h" #include "lcd.h" _FOSC(CSW_FSCM_OFF & XT_PLL8); _FWDT(WDT_OFF); _FBORPOR(MCLR_EN & PWRT_OFF&RST_IOPIN); _FGS(CODE_PROT_OFF); void __attribute__((__interrupt__, __auto_psv__)) _T1Interrupt(void); int main() { BUTTON_1_TRIS=1; int dem; LCD_Init(); LCD_Clear(); LCD_Gotoxy(0,0); LCD_PutString("dem......"); DENBAO1_TRIS=0; T1CON = 0; // Clear Timer 1 configuration T1CONbits.TCKPS = 3; // Set timer 1 prescaler (0=1:1, 1=1:8, 2=1:64, 3=1:256) PR1 = 2880; // Set Timer 1 period (max value is 65535) _T1IP = 1; // Set Timer 1 interrupt priority _T1IF = 0; // Clear Timer 1 interrupt flag _T1IE = 1; // Enable Timer 1 interrupt T1CONbits.TON = 1; // Turn on Timer 1 */ while(1) { if(PUSH_BUTTON_1==0) { while(PUSH_BUTTON_1==0){} dem++; LCD_Gotoxy(1,1); LCD_PutNum(dem); } } } void __attribute__((__interrupt__, __auto_psv__)) _T1Interrupt(void) { // Clear Timer 1 interrupt flag _T1IF = 0; int dem; if(dem==5) { dem=0; } DENBAO1=~DENBAO1; } |
Múi giờ GMT. Hiện tại là 05:47 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam