Matthias_
17.06.2009, 15: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);
}
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);
}