PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Atmega16, PortC=Ausgang: einzelne Pins schalten nicht auf 0



Dolfo
23.12.2009, 00:06
Hallo
bitte wieder um Rat: ATmega16, alle Ports als 8-Bit Ausgänge und auf "Low".

Beim Port C bleiben Pin2...5 high ! Die anderen Ports reagieren korrekt.

Schaltung geprüft, 2 x komplett neu gelötet, Controller 3 x ausgetauscht => gleiches Ergebnis. Probeweise einen neuen Controller ins STK500 gesetzt, ergab das gleiche Bild: Ausgänge PortC: 00111100

Habe ich da etwas übersehen?

ser Temp ; Temp=FF
out DDRA,Temp ; als Ausgang definieren
clr Temp ; Temp=00
out PortA,Temp ; alle Pins auf "low"

... analog mit PortB,C,D...

Danke vorab für jeden Hinweis ... bin grad etwas am Verzweifeln...

for_ro
23.12.2009, 00:24
Siehe Bascom Hilfe -> Bascom Language Fundamentals -> Newbie problems und dort der letzte Absatz: JTAG abschalten.

Dolfo
23.12.2009, 00:37
Guten Abend for_ro,

das mit dem JTAG habe ich im Datenblatt gefunden, ist allerdings noch kryptisch für mich. Hatte es vor der PortC-Definition mit

ldi Temp,0b11111111
out MCUCSR,Temp ; JTAG deaktivieren

versucht, hilft aber nicht.

Grüße,
Dolfo

Rone
23.12.2009, 06:40
Hallo!

Du mußt das Fusebit deaktivieren!

MfG
Rone

Dolfo
23.12.2009, 07:49
Hallo Rone,

ja das was's. Das ist so einfach, das musste ja übersehen werden ... :)

Vielen herzlichen Dank und frohe Weihnachten
Dolfo

linux_80
23.12.2009, 20:05
Hallo,
wenn mans per Assembler-Befehle macht, muss man das 2mal hintereinander machen, dann geht das auch, ohne Fuses ;)

Dnerb
26.12.2009, 22:50
Die guten alten Fuses...

Auch nach 10 Jahren passiert mir das ab und zu das ich die JTAG funktion nicht abschalte...

Jaecko
27.12.2009, 11:54
Einer der üblichen Klassiker.
Was sonst noch gern passiert: UART zu MAX232: Rx/Tx vertauscht; I2C: Pullups vergessen; ...