Forum: Mikrocontroller und Digitale Elektronik Alternative Portfunktion PD4


von Georg (Gast)


Lesenswert?

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!

von Uwe (Gast)


Lesenswert?

> 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 !

von Noname (Gast)


Lesenswert?

Gut das Du weder den Prozessor nennst, noch einen Schaltplan oder 
Programm postest. So wird das Raten viel spannender.

von Georg (Gast)


Lesenswert?

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.

von Peter B. (pbuenger)


Lesenswert?

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.

von Krapao (Gast)


Lesenswert?

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?

von Krapao (Gast)


Lesenswert?

> 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.

von spess53 (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.