PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATmega32 - PORTC funktioniert nicht (unverständlich)



CsMTEch
11.02.2015, 15:15
Hi,

folgendes Problem: Ich wollte den PORTC meines Atmega32 benutzen, aber dabei zeigten sich einige Probleme. JTAG ist ausgeschaltet und die Probleme sind trotzdem noch da... Der Ausgang wird zwei mal an der richtigen stelle geschaltet, zwei mal an der falschen und vier mal gar nicht :confused:

PORTC.0 : 5V an PORTC.0
PORTC.1 : 5V an PORTC.3
PORTC.2 : 5V an PORTC.6
PORTC.3 : /
PORTC.4 : /
PORTC.5 : /
PORTC.6 : /
PORTC.7 : 5V an PORTC.7

Habe zwei Controller ausprobiert: der eine etwas älter, der andere relativ neu. Bei beiden trat jetzt das gleiche Problem auf.. Mindestens der Alte hat mal normal funktioniert. Seit wann der dieses Problem hat weiß ich nicht.. Beim Neuen bin ich mir nicht sicher ob das von Anfang an so war oder nicht.

Weiß jemand den Grund oder besser noch eine Lösung? (Falsche Fusebits?? Controller defekt??)

Michael
11.02.2015, 15:18
schalt die JTAG-Fuse ab ;)

Gruß, Michael

CsMTEch
11.02.2015, 15:22
JTAG ist ausgeschaltet und die Probleme sind trotzdem noch da...

Wie gesagt, die sind aus.. :\

Michael
11.02.2015, 15:28
ich muss mir doch mal eine Brille kaufen gehn.
Hast du das falsche Programm gebrannt oder für den falschen Chip compiliert?

Gruß, Michael

CsMTEch
11.02.2015, 15:52
Nein, eigentlich stimmt alles..

HeXPloreR
11.02.2015, 15:55
Hallo CsMTECH,

es ist leider so das wenn alles stimmt, dann ja alles richtig sein muss, oder?

Also entweder stimmt alles und die erwartest etwas anderes oder es ist was falsch und es passiert genau das was dann eben passiert.

Ich vermute einen Fehler im Code - ich hoffe du hast noch etwas mehr geschrieben als die paar Zeilen oben - die eigentlich nichts sagen!
Beim JTAG wäre es mal eine Möglichkeit nachzuprüfen ob der wirklich deaktiviert ist -Fuses?

Viele Grüße
Jörg

CsMTEch
11.02.2015, 15:59
Das oben war ja nicht der Code, sondern eine Übersicht wie sich die Pins verhalten..

Der Code ist recht simpel. Habe immer einen Pin auf I gesetzt und dann gemessen. Im DDRC habe ich auch alle Pins als Ausgänge gesetzt.

Ja es stimmt, aber ich habe es für den richtigen Chip kompiliert und das richtige Programm übertragen

HeXPloreR
11.02.2015, 16:03
Messfehler? Masseverlust?

Hast Du das Verhalten mit dem reset wiederholt oder immer nur nach neu flashen?

Poste bitte den Code.

for_ro
11.02.2015, 17:15
Vielleicht hast du die $prog Anweisung in deinem Code und die setzt dir die Fuse beim Porgrammieren um.

CsMTEch
12.02.2015, 06:34
Vielen Dank für eure Hilfe!
Portc läuft einwandfrei :) Problem war ein kleiner dummer Syntaxfehler :\