The following settings will be used as defaults for all devices:
- 0x0,0xdf
0x1,0xff
0x2,0xff
- 0x0 = Fuse High Byte (hfuse)
0x1 = Fuse Low Byte (lfuse)
0x2 = Extended Fuse Byte (efuse)
- Select the external high frequency xtal with maximum start-up delay
Reserve the minimum amount of boot memory
Enable serial programming (SPIEN)
Disable all other options (JTAG, Debugging, Watchdog, Brown-out detection, Device emulation, Clock division, EEPROM protection, etc.)
ATmega168 Examples:
The serial programming enable fuse (SPIEN) is bit 5 of the Fuse High Byte. Setting this bit to zero enables serial programming, resulting in the fuse setting '11011111' = 0xdf (our default value)
The fuse to enable EEPROM saving when the device is erased (EESAVE) is bit 3 of the Fuse High Byte. Enabling this option, by setting the fuse value to zero, would change the data value to '11010111' = 0xd7
Selection of the calibrated internal RC oscillator is achieved by programming the lower 4 bits of the Fuse Low Byte to '0010', resulting in the fuse setting '11110010' = 0xf2
So an ATmega168 running off the internal calibrated RC oscillator, with serial programming enabled, and the EEPROM protected when the device is erased, would have the following fuse settings:
- 0x0,0xd7
0x1,0xf2
0x2,0xff