Alternative Portfunktion PD4

Gast #2520115
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!
Gast
> 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 !
Gast
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.
Gast
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?
Gast
> 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.
Gast
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.