Remote Home Automation (21 / 50 steg)
Steg 21: Bränna Fuse bitar
Se till att din kristall och bootstrap kondensatorer är anslutna innan du försöker och bränna fuse bitar. Om din micro nu vill köra med är det externa 20MHz klocka och det har inte ett väl, det kommer att se ut som du dödade den (du inte behöver du bara dygnet det ordentligt men fortfarande kan det vara försvårande att hitta detta senare).
Också du kan om du vill gå slänga runt med det säkringen bitar och inte "veta vad du gör så var försiktig.
Att programmera om fuse bitar :
1. ansluta till programmet AVR som vanligt
2. Öppna AVRdude och skriv:
avrdude - c usbtiny -p t2313 - U lfuse:r:-: h
Detta kommer att läsa den låga fuse byten (den som vi bryr oss om) från ATtiny2313.
Med hänvisning till tabellen i bilder: resultaten av ovanstående ger standardinställningarna för den inre RC-oscillator på 8 MHz, men CKDIV8 resulterar i en faktisk klockfrekvens på 1 MHz... Standard låg FUSE BYTEVÄRDET är: 0x64
Från ATtiny2313 datablad kan vi se att vi måste ställa in CKSEL3 genom CKSEL0 på mellan 1000-1111 (binära). Och det exakta värdet beror på den hastighet vi vill köra på.
3. hänvisa till den andra tabellen och välj en klockfrekvens.
För en 8 + MHz klockfrekvens vill vi CKSEL3... 1 111 och CKSEL0 = 1 för en kristalloscillator med en snabbt ökande makt. Titta på tabellen 3. att se ändringarna i den fuse byten. Nya FUSE BYTEVÄRDET är 0xEF
4. koppla in Crystal & bootstrap kondensatorer som visas i schematiskt.
5, programmet i den nya låga säkring byte genom att skriva följande kommando i AVRdude:
avrdude - c usbtiny -p t2313 - U lfuse:w:0xEF:m
ATtiny2313 ska nu köra på en extern crystal. WoO-HOO!!!