10ms-Interrupt mit Timer 2 Kategorie: Verschiedenes (von Jürgen Hooß - 4.11.2007 20:30) | ||
| ||
Hallo, ich mache mich gerade mit der CC-Pro vertraut um ihr Potenzial für einen industriellen Einsatz abzuklopfen und habe ein Problem mit dem 10ms-Interrupt über den Timer2. Nach meinem Verständnis sollte das untere Programm so funktionieren, dass es zunächst einmal in die while(1)-Schleife in main() hineinläuft und dort solange bleibt bis es durch den Interrupt unterbrochen wird. Dann wird die Interrupt-Routine abgearbeitet und dann geht es an der Stelle weiter wo der Interrupt das Programm unterbrochen hat, usw. . So hat es auf jeden Fall in allen meinen bisherigen Assembler-Projekten (68000, 8051, 68HC08) funktioniert. Hier funktioniert es leider nicht so. In dem Moment wo in main() die Zeile Irq_SetVect(INT_TIM2COMP,INT_10ms); // Interrupt Service Routine definieren erreicht wird, wartet das Programm wohl auf das Auftreten des Interrupts. Die while-Schleife wird nicht mehr abgearbeitet, sonst müsste in der zweiten Zeile vom LCD-Display der Zählerstand von fCount angezeigt werden. Was läuft hier falsch? Besten Dank im voraus für die Unterstützung. float fCount; word wCount; byte bCount; void INT_10ms(void) { int irqcnt; char cStr[9]; wCount++; if(wCount>=50) { LCD_ClearLCD(); LCD_CursorPos(0x00); // Den Cursor in die erste Zeile setzen cStr="T: "; Str_WriteWord(bCount, 10, cStr, 3, 0); LCD_WriteText(cStr); LCD_CursorPos(0x40); // Den Cursor in die zweite Zeile setzen Str_WriteFloat(fCount, 0, cStr, 0); LCD_WriteText(cStr); bCount++; wCount=0; } irqcnt=Irq_GetCount(INT_TIM2COMP); // Interrupt Request Counter } void main(void) { bCount=0; wCount=0; fCount=7; LCD_Init(); LCD_ClearLCD(); Irq_SetVect(INT_TIM2COMP,INT_10ms); // Interrupt Service Routine definieren while(1) { fCount++; // ... und weitere Zeilen Programmcode } } | ||
Antwort schreiben Antworten: Re: 10ms-Interrupt mit Timer 2 (von Hannes - 5.11.2007 7:52) Re: 10ms-Interrupt mit Timer 2 (von Jürgen Hoo� - 10.11.2007 18:00) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum