Saša evo da ponovimo još jednom šta si ustvari napisao:
Citat:
Fuse-ovi treba da budu setovani na sledeci nacin:
• brown out detection at 4.3v
Taj brown out generiše reset ako je napon napajanja manji od 4,3V, tu ne treba da si napravio grešku.
Citat:
• preserve eeprom through chip erase cycle
To isto ne bi trebalo da pravi problema.
Citat:
• boot size equals 256
Jesi li siguran da si baš to želeo?
Naime, posle reseta se izvrašava BOOT program, a ne GLAVNI program?
Taj BOOT program fabrički nije upisan nego ga moraš sam pisapi i Flash-ovati.
Citat:
• boot reset vector enabled
Ovo je još problematičnije, ta konfiguracija menja VECTOR tabelu!
To je samo za one koji tačno znaju šta rade!
Citat:
• external oscillator greater than 8mhz 16k clock plus 65ms
To sav već napisao u predhodnom postu.
U principu su ti Fuse registri jedna slabost AVR-a.
Ako ne znaš tačno šta radiš možeš da "zaglaviš" mikrokontroler tako da se više "ne odaziva".
Ja obično ne menjam stanje svih Fuse registara preko komande nego idem prvo u Termilal modus:
Code:
avrdude -p m128 -u -c stk500 -t
Kada je program u "Terminal Mode" javlja se sa:
Code:
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x1e9702
avrdude: current erase-rewrite cycle count is 52 (if being tracked)
avrdude>
Onda ispitujem stanje pojedinih Fuse registra:
Code:
avrdude> d hfuse
>>> d hfuse
0000 99
I menjam ih sa:
Code:
avrdude> w hfuse 0 0x89
>>> w hfuse 0 0x89
Pa ponovo kontrolišem šta je programator uradio:
Code:
avrdude> d hfuse
>>> d hfuse
0000 89
Pre svega toga DOBRO prekontrolišem šta ću upisati u Fuse, je ako tu pogrešim onda moram da "spašavam" sistem
tako što ću da dovedem spoljni CLOCK na XTAL1 ili mi je Bog na pomoći.
[Ovu poruku je menjao branko_g dana 03.11.2008. u 14:11 GMT+1]