Hallo, Ich versuche hier einen ATtiny84 der auf einer Platine mit 20 Mhz Quarz sitzt über eine 6 Pin SPI Verbindung zu programmieren. Vor dem Programmieren konnte ich ohne Probleme die Fuse Bits usw auslesen und die ID des Chips wurde erkannt. Dann wollte ich die Fusebits wie gefordert einstellen: Low Fuse:0xde High Fuse: 0xd6 Extended Fuse: 0xff Der Fuserechner auf http://www.engbedded.com/ zeigt dafür folgende Einstellung an (siehe Anhang). Kreuzt man in der Software des Willem Programmers die entsprechenden Kästchen an, so zeigt er dort allerdings ganz andere HEX Werte an. Hat jemand eine Ahnung warum das so ist? Er müsste ja dann die Fuse ganz falsch setzten! Ich habe den Chip dann trotzdem gebrannt und jetzt macht nichts mehr. Die ID wird nicht erkannt ("Electronic ID not match"). Das Calibration byte in der Willem Oberfläche ist doch sozusagen der Osccal Wert bei PICs, den man vorher auslesen und aufschreiben sollte? Oder geht der bei AVRs nicht so leicht verloren? Vielen Dank für die Hilfe, hames
Okay, ich habe gerade herausgefunden, das im Willem ein Häkchen für "nicht ausgewählt" steht. Das verwirrt natürlich erst einmal sehr! Fakt ist, das jetzt folgende Fuses eingestellt sind: Low Fuse:0x21 High Fuse: 0x09 Extended Fuse: 0xff Clock output on PORTB2; [CKOUT=0] Divide clock by 8 internally; [CKDIV8=0] Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0] Watch-dog Timer always on; [WDTON=0] Serial program downloading (SPI) enabled; [SPIEN=0] Debug Wire enable; [DWEN=0] Reset Disabled (Enable PB3 as i/o pin); [RSTDISBL=0] Self Programming enable; [SELFPRGEN=0] Das Problem ist doch jetzt 1) ist er auf einen Externen Clock eingestellt, d.H. mein Quarz bringt mir nichts mehr und ich müsste z.B. mit einem Frequenzgenerator einen Clock vorgeben. 2) der RESET Pin ist deaktiviert 3) Durch das Aktivieren der Debugwire Verbindung funktioniert SPI nicht mehr Fazit: Mit dem Willem kommt man da nicht mehr weit, also etwas dazu gelern und einen neuen ATtiny kaufen...
Eine Fuse ist aktiviert, wenn sie "durchgebrannt" wird, dann ist das entsprechende Bit LOW. Manche Programme zeigen ein Häckchen an, wenn das Bit auf HIGH steht. Deswegen war es schon eine gute Idee von Dir, die HEX-Werte zu prüfen. Das mache ich auch immer, um Sicher zu gehen.
Ja, das ist mir leider erst danach aufgefallen :) Habe aber eine gute selber-Bastel-Lösung gefunden um die Fuses wieder auf Werkseinstellungen zu setzten: http://www.elektronik-labor.de/Arduino/Fuses.html Hätte ich auch alles da, habe mir nur schon etwas vorschnell einen neuen Attiny gekauft, dann sollte aber alles funktionieren.
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.