und weil wir gerade beim Thema sind:
Ich möchte nach folgender Manier einen Drehgeber auswerten:
Code:
void Timer1_ISR(void)
{
PM_WertHoch=Timer_T1GetPM();
Irq_GetCount(INT_TIM1CAPT);
Ausgabe();
}
Interruptroutinen sind definiert:
void init(void)
{
Irq_SetVect(INT_TIM1CAPT, Timer1_ISR);
}
void ausgabe(void)
{
Msg_WriteWord(PW_WertHoch);
}
void main(void)
{
while(1)
}
Ich hab den zweiten Timer ausgelassen, zur Veranschaulichung reicht einer. Eine Auswertung des Wertes kommt dann, wenn ich nen Wert bekomme....
A+ und B+ des Drehgebers liegen direkt auf PD6 und PE6, der Drehgeber wird mit 5 Volt gespeist.
Ich hab auch schon Testausgaben in die Interruptroutinen eingefügt, sie werden definitiv nicht angesprungen.
An den beiden Timern liegen die 5 Volt messbar an.
Was mach ich falsch ?
Danke und Gruss, Endress
Lesezeichen