Hallo ich wollte eine eigene Software Uart schreiben. dabei liegt das serielle Signal an einem Interrupt-PIN (INT0)an. Der Interrupt funktioniert bei der ersten fallenden Flanke im Simulator schon. Wenn jedoch ein Zeichen komplett empfangen ist, und der pegel des INT0-Pins noch HIGH ist, dann wird sofort in die ISR für SIG_INT0 gesprungen, ohne dass auf die fallende Flanke gewortet wird. liegt es am Simulator, oder findet ihr vielleicht noch einen Fehler in meinem Skript? wäre nett, wenn ihr mal drüber schauen würdet. gruß micha ********************************** ATMEGA32, AVR-Studio 4.12
"dann wird sofort in die ISR für SIG_INT0 gesprungen, ohne dass auf die fallende Flanke gewortet wird." Das ist immer dann der Fall, wenn Dein Datenbyte weitere fallende Flanken enthielt. Vor der erneuten Freigabe erstmal alte erkannte Flanken löschen. Peter
Genauer ist die UART mit dem Capture-Eingang: http://www.mikrocontroller.net/forum/read-4-299212.html#new Peter
hab schon mal geschaut, es gibt kein Bit, dass den Flankenwechsel anzeigt. Stehe grad auf dem Schlauch. wie meinst du das, die alten erkannten Flanken löschen? Danke Gruß Micha
"es gibt kein Bit, dass den Flankenwechsel anzeigt." Doch, nennt sich INTF0 ... INTF2 Peter
Oh sorry, vielen Dank fürs schnelle antworten. Ist halt wieder mal so, wie schon mal hier diskutiert, erst das Datasheet lesen und dann fragen. Sorry, war "betriebsblind" :) Danke! Gruß Micha
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.