Hallo mein Problem ist folgendes: Ich habe AVTStudio5 und den STK600 und möchte einen ATMEGA644 programieren. Klappte zuerst gut, dann aber konnte ich plötzlich den ISB nicht mehr verwenden um den code zu laden. HVPP und JTAG funktioniert. Leider läuft seitdem kein code den ich lade zB: #ifndef F_CPU #define F_CPU 16000000 #endif #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> int main(void) { DDRA = 0xFF; PORTA = 0xff; while(1) { PORTA ^= ( 1 << PA0 ); // Toggle PB0 z. B. angeschlossene LED _delay_ms(1000); // Eine Sekunde +/-1/10000 Sekunde //warten... // funktioniert nicht mit //Bbliotheken vor 1.6 } } Ich habe es dann mit STK600-ATMEGA2560 (diese Karte und prozessor wurden mit dem STK600 mitgeliefert) Dort klappt es. Ich habe auch schon andere ATMEGA644 verwendet um einen defekten Chip auszuschliessen Bin etwas ratlos...
Hallo was ist der "ISB" ? Evtl. hast Du die Fuses verstelle ? Welche sind den gesetzt ? Siehe auch : http://www.engbedded.com/fusecalc/
ich meine natürlich den ISP die Fuses sind: BODLEVEL = DISABLED OCDEN = [ ] JTAGEN = [X] SPIEN = [X] WDTON = [ ] EESAVE = [ ] BOOTSZ = 4096W_7000 BOOTRST = [ ] CKDIV8 = [ ] CKOUT = [ ] SUT_CKSEL = EXTXOSC_8MHZ_XX_258CK_65MS EXTENDED = 0xFF (valid) HIGH = 0x99 (valid) LOW = 0xDE (valid)
Hallo Urs, ich kennen deine Taktquelle nicht, deshalb lieber etwas langsammer und BOD auf 4,3V: *avrdude:* -U lfuse:w:0xff:m -U hfuse:w:0x99:m -U efuse:w:0xfc:m Versuche das bitte mal.
Habe nun die Fuses angeoasst, kein Unterschied :( BODLEVEL = 4V3 OCDEN = [ ] JTAGEN = [X] SPIEN = [X] WDTON = [ ] EESAVE = [ ] BOOTSZ = 4096W_7000 BOOTRST = [ ] CKDIV8 = [ ] CKOUT = [ ] SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS EXTENDED = 0xFC (valid) HIGH = 0x99 (valid) LOW = 0xFF (valid) Das verwirrende ist, dass ich sicher bin, dass korrekt geschrieben wird. Ich sende den code, danach ändere ich ihn unt kontrolliere ob der vorab geschirebene code identisch ist, nachdem ich stk600 aus-ein geschaltet habe. -> Resultat: natürlich unterschiedlich. Ich schalte dann wider den STK600 aus-ein, und kontrolliere mit dem selben hex file. -> Resultat: identisch. Für mich sieht es aus, als ob der ATMEGA644 (ports a bis c) defekt ist und die ports nicht reagieren ... nur das mit allen ports mit 3 verschiedenen chips, aber der ATMEGA2560 ist ok? Unwahrscheinlich...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.