PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anfängerfrage Timerprogrammierung



Matthias_
17.06.2009, 14:29
Hallo zusammen!

Ich habe ein kleines Problem bei dem ich einen Denkanstoss gebrauchen könnte: Ich möchte über ein LCD einen Text anzeigen lassen und diesen nach einer gewissen Zeit (1-2s) wieder löschen. Dazu wollte ich timer0 verwenden.

Leider verwende ich den Timer scheinbar nicht korrekt, so dass der Text sofort gelöscht wird. Es wäre nett wenn mir jmd. behilflich sein könnte...


Gruss
Matthias


void LED1_On(int delay_val)
{
Port_WriteBit(PORT_LED1,PORT_ON);
AbsDelay(delay_val);
Port_WriteBit(PORT_LED1,PORT_OFF);

text = "Zutritt";
text1 ="gewaehrt";
LCD_ClearLCD();
LCD_CursorPos(0x00+0);
LCD_WriteText(text);
LCD_CursorPos(0x40+0);
LCD_WriteText(text1);

Irq_SetVect(INT_TIM0COMP,Timer0_ISR);
Timer_T0Time(25000,PS0_1024);

}

void Timer0_ISR(void)
{
int irqcnt1;
LCD_ClearLCD();
Timer_T0Stop();
irqcnt1=Irq_GetCount(INT_TIM0COMP);
}

Matthias_
17.06.2009, 21:30
Ok, habs endlich hinbekommen:

Für diesen Zweck ist der AbsDelay-Befehl wohl besser geeignet.