Gast
#75562
Hallo, ich versuche einen Ausgang beim Auslösen eines Interrupts
umzuschalten, sofern eine Variable gesetzt ist.
Wenn sende = 255, so müsste sich PORTB bei jedem Interupt von H nach L
und umgekehrt ändern. ist sende <> 255, so müsste an PORTB Null
anliegen. Die sende Variable wird durch das Hauptprogram gesetzt.
Allerdings ist PORTB immer null. Was mache ich falsch?
u08 sende,zust;
SIGNAL(SIG_OVERFLOW0) {
if (sende == 0xff) {
zust = 255 - zust;
}else {
zust = 0;
}
outp(zust,PORTB);//nur zur Kontroll
outp(0,TCNT0); //setzt den Timer0 auf 0 (reset timer)
}
Eigentlich müsste es doch auch mit
outp((!inp(PORTB))& sende,PORTB);
gehen, tut es jedoch auch nicht.
Der Dateianhang enthält das komplette Program.