Atmega168 - TxD Impuls beim Start

OP #4348892
Lesenswert?

Hallo zusammen,
ich habe ein Problem mit einem Atmega168, an dessen Port D.1 beim 
Starten in kurzer Impuls ausgegeben wird.
Der Imnpuls hat eine Länge von nur ca. 0,5 Sekunden, aber den kann ich 
nicht gebrauchen. Meine Vermutung ist, dass der Impuls durch den TxD 
erzeugt wird, der auch auf dem Port hängt.
Habe schon versucht über txen0 = 0 den UART abzuschalten, aber es bringt 
nichts.
Hat jemande eine Idee wie ich das ändern kann?

$regfile = "m168pdef.dat"
$crystal = 16000000

$hwstack = 50
$swstack = 50
$framesize = 50

Ucsr0b.txen0 = 0
Ucsr0b.rxen0 = 0

Ddrd = &B0011_0011
Portd = &B1100_0000
Ddrc = &B0011_1111
Portc = &B1100_0000

 Do
   Waitms 1
 Loop

Besten Dank
Gast #4348996
Lesenswert?

Hi

>Meine Vermutung ist, dass der Impuls durch den TxD
>erzeugt wird, der auch auf dem Port hängt.

Unsinn. Nach einem RESET sind TXDEN0 und RXDEN0 = 0.

>Der Imnpuls hat eine Länge von nur ca. 0,5 Sekunden ...

Das sind für einen Controller Ewigkeiten. Wo sollen die herkommen?

MfG Spess
#4349021
Lesenswert?

spess53 schrieb:
> Wo sollen die herkommen?

Wenn ein Dragon angeschlossen ist und der Controller keine Spannung hat, 
gibt es beim Einschalten jeweils einen deutlich sichtbaren Impuls auf 
allen offenen Ports. Kommt wohl von der parasitären Versorgung des 
Controllers durch die SPI-Pullups des Dragon. Das passiert aber auch 
nur, wenn der Controller mindestens 10 Sekunden abgeschaltet war. Eine 
halbe Sekunde sind die allerdings nicht lang.

Bei JTAGICE oder AVRISP passiert das nicht. Aber die haben auch keine 
Pullups auf den ISP-Leitungen.

mfg.
OP #4349293
Lesenswert?

N'abend,
danke für die ersten Antworten, aber an dem Programmiergerät liegt es 
nicht.

Vielleicht ist der Port auch nur 0,2 Sekunden high? Ich kann es nicht 
messen. Wie Spess schon schrieb, ist es für einen Prozessor eine 
Ewigkeit.

Na klar können beim Einschalten irgendwelche Ports kurzzeitig high 
werden, aber der Impuls kommt leicht verzögert.

Gruß
Rob
Gast #4349520
Lesenswert?

Dachte ich auch immer, es macht dennoch einen Unterschied. Ich habe hier 
eine Schaltung, welche immer ein null Byte über den uart geschickt hat 
sobald ich diese mit Spannung versorgt hab. Durch das ändern der 
Reihenfolge und das zusätzliche Beschalten als Eingang hat genau dieses 
Phänomen aufgehört. Ich kann hier auch nur schreiben was bei mir 
geholfen hat...  Ich kenne dem Grundzustand der Register und dennoch 
trat dieses Verhalten auf. Ich weiß nicht warum aber es ist 
reproduzierbar. Falls es jemand weiß bitte immer gerne.
#4349529
Lesenswert?

Dann sind deine Beobachtungen oder Schlussfolgerungen falsch. Die 
besagten Pins sind, wie alle anderen auch, nach dem Reset auf Eingang 
geschaltet. Daran ändert oder verbessert sich auch nichts, wenn diese 
nochmals auf Eingang geschaltet werden. Egal wann, in welcher 
Reihenfolge oder wie oft.

mfg.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren