Volgens mij heb ik net de nek van mijn atmega162 omgedraaid terwijl ik met die fuses zat te spelen. Hoe kan ik deze resetten op een snelle gemakkelijke manier?
thanks
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
Fuses zijn niet iets om mee te spelen, maar daar was je inmiddels al achter. Welke fuse heb je gewijzigd?
Met een STK500 (of compatible) programmer kan je het altijd ongedaan maken. Afhankelijk van welke fuses kan het misschien ook nog op een andere manier. Dus laat het even weten.
Ja ik heb die Divide by 16 fuse disabled en de watchdog timer opgezet voor de rest geloof ik niks anders veranderd te hebben met opzet:s
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
Er is helemaal geen Divide by 16 fuse. Bedoel je CKDIV8 ?
Beide fuses kunnen in elk geval niet de oorzaak zijn van je probleem.
Het meest aannemelijk is dat je de CKSEL fuses hebt gewijzigd. Daardoor wordt niet meer de interne oscillator gebruikt maar verwacht de AVR een externe. Door op de klok ingang een klokpuls aan te bieden met bijvoorbeeld een functiegenerator kan je de AVR weer benaderen. Je programmer moet dan wel een factor 4 langzamer zijn dan de klokpuls.
En anders is er hier op het forum misschien wel iemand die met zijn/haar STK500 jou wil helpen.
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
Afhankelijk van je CKSEL setting kan het best zijn dat je externe kristal niet goed meer oscilleert. Al gemeten met een scoop of frequentiemeter?
Ook reageer je niet op mijn vraag over de CKDIV8 fuse. Bedoelde je die nu of niet?
Verder is het nu misschien toch handig om wat meer informatie te versterken. Hoe en met wat programmeer je. Welke melding krijg. Waaruit concludeer je dat het niet meer werkt. Weet je nog exact wat je hebt gewijzigd?
Ik gebruik BASCOM-AVR van MCS Electronics. Bij een poging tot programmeren verteld ie dat ie de microcontroller niet herkend en geef bij controllertype gwn "FFFFFF"
Wijzingen aan fusebits:
1:
Fusebit 7: Divide by Clock 16 enabled
naar
Fusebit 7: Divide by Clock 16 disabled
2:
Fusebit DCBA :0010:CKSEL=0010 Internal RC Oscillator 8 MHz
naar
Fusebit DCBA :0000:CKSEL=0000 External Clock
(blijkbaar toch aangepast dit:s)
3:
Fusebit H: Watchdogtimer always on disabled
naar
Fusebit H: Watchdogtimer always on
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
Rustig, niet iedereen zit 24h/dag op het forum van CO om je te helpen.
Gelukkig geef je nu in elk geval een duidelijk oorzaak aan van je probleem. En dat is precies die fuse setting van CKSEL 0000. Al in de datasheet bekeken wat dat betekend? Zie pagina 40. En daarom vroeg ik ook of je gemeten had of je kristal nog oscilleerde. Deze setting is voor een externe klok, niet voor een extern kristal. Het kristal zal nu dus ook niet oscilleren.
Om je AVR weer aan de gang te krijgen moet je een externe klok aanbieden. Er zijn tal manieren om dat te doen. Bijvoorbeeld met een functiegenerator. Die heeft niet iedereen, maar met een 555 of een als pulsgenerator geprogrammeerde AVR kan het ook.
Ok, maar een 555 kan niet meer dan een Mhz aan en een functiegenerator heb ik niet. Hoeveel moet de frequentie ongeveer zijn?
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
Een paar 100kHz wil prima. Let op dat je programmer minimaal een factor 4 langzamer moet kunnen werken.
Het is me gelukt met behulp van een andere microcontroller hbe daar een frequentie van 1Mhz geconfigureerd en daarmee de fuses van die andere kunnen veranderen. Bedankt voor je hulp Marcel, deze topic kan gesloten worden.