Hallo Fachleute! In diesem Fall handelt es sich um einen Mega8, Codevision Compiler und Programmiersprache C. Wenn ich über TxD ein String verschicke (9600 baud) bleiben die Timer stehen, die aber gleichzeitig für andere Zwecke benutzt werden. Wobei bei dem letzten Byte des Strings die Timer wieder aktiv sind??? Controllregister B ist so gesetzt: USCRB = 0xD8; Meine Vermutung ist, dass wenn ich etwas in UDR reingeschrieben habe, dann taucht das Problem auf. Was kann das sein, wie kann ich das Problem lösen? Bin für jeden Tipp dankbar.....
Hi, Du meinst, wenn Du etwas über die serielle Schnittstelle verschickst, dann bleibe´n Deine Timer stehen ?!? Oder wie soll man das verstehen ? Zumindest wenn ich es richtig aufgefaßt habe: Nein, die Timer laufen normal weiter. Programmcode wär hilfreich....benutzt Du Interrupts ? Das senden mit 9600 baud kann lange dauern, vielleicht laufen Deine Timer ja ein paar mal über ? Gruß ka-long
@ka-long ja, die timer bleiben stehen und laufen nicht über. Ich arbeite mit Timer Interrupts und Rx / Tx Interrupts. Das problem ist eben das die Timer nicht überlaufen... Leo
TX-Interrupts sind gräßlich, wenn es nix mehr zum Senden gibt. Dann interrupten die ständig, sofern man nicht explizit den Tx-Int zurücksetzt. mfg gerd
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.