Ich nutze einen Software UART, den ich auch mit INT1 verbunden habe. Dieser ist auf eine fallende Flanke eingerichtet. Kann ich dabei einen Timer laufen lassen, der mir die Zeit mißt bis zur Nächsten? Mir ist schon bewußt das der ext. Interrupt eine höhere Priorität als der Overflow des Timers hat. Weiterhin habe ich festgestellt, daß wenn ich den Interrupt bei diesem Event deaktiviere, die Daten über den Soft-UART nicht richtig eingelesen werden. Benötigt der Interrupt zur fallenden Flanke in einer gewissen zeit auch die positive Flanke?
du solltest den ext. Int nur zur Erkennung des Startbits nutzen. ext. int -> timer starten, interrupt nach halber Bitzeit, ext. int sperren -1. Timer-int: schauen, ob am Eingangspin immer noch L-Pegel anliegt. ja: startbit gültig nein: nur ein spike -timer auf volle Bitzeit umstellen -je Timerint ein Bit einlesen, schieben, 8mal 9. Timerint: stopbit prüfen Byte ist empfangen, Timer stoppen, ext. Int wieder freigeben.
das hab ich mir auch schon überlegt. Ich möchte jedoch wissen ob der Soft-UART mit einer eingestellten Baudrate die Daten ebenso empfängt. Folgendes Problem dabei: Das LIN-Protokoll sendet vor den eigentlichen Daten ein Break und ein Sync-Feld(0x55). Sync und Daten werden mit Baudrate übermittelt. ??????|_____________|¯|_|?|_|?|_|?? . . . ?????????? ich würd gern auf das Sync-Feld triggern.
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.