Atmega168 - TxD Impuls beim Start

OP #4348892
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
Robert S. schrieb:
> Meine Vermutung ist, dass der Impuls durch den TxD
> erzeugt wird, der auch auf dem Port hängt.

Nein.

> Habe schon versucht über txen0 = 0 den UART abzuschalten, aber es bringt
> nichts.

Natürlich nicht. Der ist nach Reset abgeschaltet.

> Hat jemande eine Idee wie ich das ändern kann?

Zieh das Programmiergerät ab!

mfg.
Gast
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
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.
Gast
Hi

Da muss ich wohl Jahrzehnte lang irgend etwas mit zig ATMEL-Programmern 
falsch gemacht haben. So ein Mist ist mir in 18 Jahren noch nicht unter 
gekommen.

MfG Spess
OP
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
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.
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

Eine eigene Frage? Dieser Thread ist über 11 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.