Forum: Mikrocontroller und Digitale Elektronik Atmega2560 läuft aber IO's liefern halbstrom


von Jürgen G. (Firma: brisco) (brisco)


Lesenswert?

Hallo

I habe zwei custom ATmega2560 boards, 16MHz Quarz, LCD über I2C und 
andere Module, SPI und viele Outpus welche Power MOSFETS ansteuern. 
Ebenso befindet sich eine LED welche im 1 Sek Takt blinkt um anzuzeigen 
ob das Board läuft.

Es hat bis jetzt tadellos funktioniert. Nachdem ich den Bootloader von 
http://www.gammon.com.au/bootloader installiert habe, läuft nur noch die 
Hälfte des Boards. Die LED welche über PG0 angeschlossen ist, leuchtet 
nur noch halb so stark wie vorher und die anderen Output Pins liefern 
nur noch geringe Ausgangsspannung. I2C funktioniert aber immer noch! 
Progammierung über ISP geht ohne Probleme.

Ich habe mit Avrdude versucht die Fuse Settings zu verändern, vor allem 
die Brown Out Pins habe ich verändert. Scheint aber nicht an den Fuses 
zu liegen.
Hat jemand einen Tipp?

Danke

von Thomas (kosmos)


Lesenswert?

Die Pins sind warscheinlich als Eingänge geschaltet mit aktivierten 
internem Pullup Widerstand, deswegen bekommen deine LED etwas Strom.

Es Gibt ein Pull up disable Bit (PUD) wenn du das setzt sind alle 
Pullups aus.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Jürgen G. schrieb:
> Es hat bis jetzt tadellos funktioniert. Nachdem ich den Bootloader von
> http://www.gammon.com.au/bootloader installiert habe, läuft nur noch die
> Hälfte des Boards. Die LED welche über PG0 angeschlossen ist, leuchtet

 So etwas nennt man fehlende Initialisierung.
 Allerdings darf ein Bootloader niemals etwas an den Pins verändern,
 oder er sollte zumindest den Originalzustand wieder herstellen.

 Mache die Initsequenz richtig und schmeisse diesen Bootloader weg.

: Bearbeitet durch User
von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Wie sich das liest, kam der Bootloader NACH dem Programm - da kann der 
Loader dann nicht viel von dem Programm wissen und wird die 'Beinchen' 
auf Standard stellen.

Sollte Das gar nicht möglich sein (Boot-Loader NACH Programm), da der 
Speicher nur in einem Rutsch geschrieben werden kann - kurze Mitteilung 
:)
Akut sehe ich Das noch so, daß die FF-Bytes jederzeit auf 'Weniger' 
umprogrammiert werden können - wobei der ISR-0-Vektor aber eigentlich 
zum Boot-Loader zeigen müsste, was nach dem Aufspielen des Programm 
nicht mehr gehen sollte. Hmm

MfG

von Thomas (kosmos)


Lesenswert?

evtl. auch das JTD Bit setzen (JTAG disable) geht aus der Software, da 
muss man nicht an den Fuses rumprogrammieren,  sonst könnten sich manche 
Pins auch verselbstständigen.

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.