Hallo! Ich hab ein Problem in meinem Programm, wenn ich den PD4 als Triggersignal für einen externen Watchdog nehme und zusätzlich noch über RX und TX eine serielle Schnittstelle benütze. Die serielle Schnittstelle ist im asynchronen Mode eingestellt. Der PD4 als Ausgang definiert. Das Problem ist, dass beim Senden über die serielle Schnittstelle vermutlich was auf dem PD4 geschieht. Ich kann es nicht messen, aber mein Triggersignal an PD4 wird nach Aufrufen des Sendebefehls nicht mehr gesetzt und somit kommt es zum Reset. Ich habe im Datenblatt gelesen, dass das Bit PVOE einen Einfluss auf den PD4 habe. Leider habe ich nirgends was zu diesem Bit gefunden, wann es gesetzt wird und von wem und wie ich drauf Einfluss nehmen kann. Weiß jemand wie ich das Ändern an PD4 unterbinden kann? Vielen Dank!
> Die serielle Schnittstelle ist im asynchronen Mode eingestellt. > Der PD4 als Ausgang definiert. > Das Problem ist, dass beim Senden über die serielle Schnittstelle > vermutlich was auf dem PD4 geschieht. > Weiß jemand wie ich das Ändern an PD4 unterbinden kann? Ja nicht als Schnittstelle benutzen und nichts senden denn sonst passiert was am PD4. Frage: Ich benutze mein Rechtes Bein zu Radfahren und zum laufen aber wenn ich Radfahre kann ich nicht laufen was mache ich dagegen ? Antwort : nicht Radfahren !
Gut das Du weder den Prozessor nennst, noch einen Schaltplan oder Programm postest. So wird das Raten viel spannender.
Ich benutze den ATMEGA168. Ich habe das Programm nicht gepostet, da es sehr unübersichtlich geworden ist. Die Frage ist, ist es möglich die serielle Schnittstelle zu bedienen ohne eine Auswirkung auf PD4. Laut Datenblatt müsste PD4 im asynchronen Mode nicht benutzt sein.
Die UART liegt auf PD0/PD1, wird also PD4 nicht stören. Der Fehler muß woanders liegen, vermutliech hier: >Ich habe das Programm nicht gepostet, da es sehr unübersichtlich >geworden ist.
Du hast einen Catch 22 gebaut. PD4 als TX konfiguriert hat im Ruhezustand einen High-Pegel und kann bei eingeschaltetem TXEN nicht als allgemeiner I/O-Pin benutzt werden. Das TXEN blockiert den Pin (intern über das PVOE in der Funktionsskizze). Wenn du an der UART TX zeitweise disablest, um an die I/O-Funktion zu kommen, kann dir die nachfolgende TTL-to-RS232 Schaltung und der Empfänger Probleme machen. Der Empfänger sieht durch die Aktivität der PD4 Leitung beim Watchdog-Reset auch ein Klappern an TX und interpretiert das i.d.R als Frameerror. Hast du die Empfängerseite unter Kontrolle? Wenn ja, kannst du ggf. regelmäßig ein nicht störendes Zeichen übertragen. Die Aktivität auf der TX-Leitung = PD4 ist dann das Resetten des Watchdogs. In welchen Intervallen machst du den Watchdog-Reset? Anderer Pin ist nicht frei oder kann für zwei Zwecke benutzt werden?
> Die UART liegt auf PD0/PD1, wird also PD4 nicht stören.
Streich meine Antwort vorher. DAS hatte ich nicht kontrolliert sondern
als vom TO gegeben vorausgesetzt. Man sollte nicht antworten, wenn die
Basics (Schaltplan, Quellcode) fehlen.
Hi PVOE Port Value Override Enable wird durch UMSEL01/UMSEL00 in UCSR0C beeinflusst. Nämlich wenn Synchrone USART oder SPI-Mode eingestellt ist. PVOV Port Value Override Value ist dann das Clock-Signal der UART. MfG Spess
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.