Forum: Mikrocontroller und Digitale Elektronik Portd.1 funktioniert nicht


von Dima (Gast)


Lesenswert?

Hallo,

ich habe einen Atmega 32 und es Blinken alle Ausgänge.
Aber PortD.1 leuchtet ständig. der hat am ausgang immer 5V anliegen.
Ist der Ausgang kaputt?

von andy (Gast)


Lesenswert?

Glaskugel sagt:Ja ist defekt.

andy

P.S.Mit etwas mehr details könnte ich dir helfen,da meine Glaskugel 
nicht wirklich etwas von AVRs versteht.

von Glaskugelbläser (Gast)


Lesenswert?

PortD.1 ist TxD. Du scheinst etwas dauernd über die serielle mit hoher 
Baudrate zu senden. Die 5V mit nem DVM gemessen oder mit dem Scope?

von Bastian N. (slime2k)


Lesenswert?

hmm, wo is doch gleich meine Glasskugel... such
So ganz ohne ein paar genauere Angaben, source etc. kann man nur Raten.
Aber ich versuchs trotzdem mal.

PD1 ist der TXD Pin vom Uart

Das Datenblatt sagt dazu:

Data Transmission – The USART
The USART Transmitter is enabled by setting the Transmit Enable (TXEN) 
bit in the UCSRB Register. When the Transmitter is enabled, the normal 
port operation of the TxD pin is overridden by the USART and given the 
function as the transmitter’s serial output.

evtl. mal den Uart ausschalten? :)

von Bastian N. (slime2k)


Lesenswert?

mift... da war doch glatt einer schneller. Musste doch kurz die Passage 
aus dem Datenblatt raussuchen. :/ Lesen bildet. :D

von Dima (Gast)


Lesenswert?

Hi,
Ich melde mich etwas spät, sorry.
Hier habe ich den Quellcode beigefügt.(Unten)
Wie deaktiviere ich denn den Uart?
Ich weis es leider nicht.
Ich habe das gleiche Programm in einen Anderen Atmega32
geschrieben und da ist das gleiche.



$regfile = "m32def.dat"
$crystal = 10000000
$baud = 9600
$hwstack = 32
$swstack = 10
$framesize = 24


Porta = &B11111111
Portb = &B11111111
Portc = &B11111111
Portd = &B11111111



Do
   Set Porta.0
   Set Porta.1
   Set Porta.2
   Set Porta.3
   Set Porta.4
   Set Porta.5
   Set Porta.6
   Set Porta.7

   Set Portb.0
   Set Portb.1
   Set Portb.2
   Set Portb.3
   Set Portb.4
   Set Portb.5
   Set Portb.6
   Set Portb.7

   Set Portc.0
   Set Portc.1
   Set Portc.2
   Set Portc.3
   Set Portc.4
   Set Portc.5
   Set Portc.6
   Set Portc.7

   Set Portd.0
   Set Portd.1
   Set Portd.2
   Set Portd.3
   Set Portd.4
   Set Portd.5
   Set Portd.6
   Set Portd.7

   Waitms 200

   Reset Porta.0
   Reset Porta.1
   Reset Porta.2
   Reset Porta.3
   Reset Porta.4
   Reset Porta.5
   Reset Porta.6
   Reset Porta.7

   Reset Portb.0
   Reset Portb.1
   Reset Portb.2
   Reset Portb.3
   Reset Portb.4
   Reset Portb.5
   Reset Portb.6
   Reset Portb.7

   Reset Portc.0
   Reset Portc.1
   Reset Portc.2
   Reset Portc.3
   Reset Portc.4
   Reset Portc.5
   Reset Portc.6
   Reset Portc.7

   Reset Portd.0
   Reset Portd.1
   Reset Portd.2
   Reset Portd.3
   Reset Portd.4
   Reset Portd.5
   Reset Portd.6
   Reset Portd.7



   Waitms 50


   Loop

End

von Oliver J. (skriptkiddy)


Lesenswert?

'$baud = 9600' rausschmeißen?

von Flo (Gast)


Lesenswert?

Skript Kiddy schrieb:
> $baud = 9600' rausschmeißen?

Jup, denke ich auch, hatte das selbe Problem
und habe es so gelöst.

von Dima (Gast)


Lesenswert?

Jo,
Ich habe $baud 9600 weggelassen uns jetzt funzt es.
Vielen Dank für eure hinsweise.

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.