Zitat von "SimonFB"Über eine ISR hatte ich auch schon nachgedacht. Spart mir wahrscheinlich massig CPU-Leistung. Aber wenn die ISR nur bei empfangenen Zeichen 'anspringt', wie erkenne ich dann die Resets vorm Startbyte?
Falls das Thema noch aktuell ist: zumindest bei den Controllern der ATmega Reihe geht das über einen Frame-Error.
Der Reset wird ja übertragen, in dem die Leitung über einen längeren Zeitraum auf LOW gezogen wird, was aber im RS232 Protokoll (dieses spricht die beim ATmega verwendete UART Schnittstelle) nicht vorkommt.
Das löst dann einen Interrupt aus und führt zum setzen des entsprechenden Statusbits. Darüber kriege ich dann den Reset mit.
Nach dem Start wartet der empfänger erstmal auf den Reset, ansonsten wird bei jedem Empfangsvorgang überprüft, ob es da evtl einen Reset gab und falls ja, wechselt mein Empfänger wieder in den Zustand "Warte auf Startbyte".
Falls noch Fragen sind, kannste auch gerne ne PN schicken.
~ Mariosch