1
\$\begingroup\$

I'm programming an ATtiny2313, with some hex for an infrared remote IgorPlug with AVR via USB, I'm new to AVR and need to confirm please that what he refers to the fuse configuration:

Q: Is possible to use ATtiny2313 instead AT90S2313?

A: The device is compiled for AT90S2313 but works also on ATtiny2313 - same HEX file (binary compatible). For correct operation on ATtiny2313 you must set fuses during programming: disable division the external clock by 4 and enable high speed XTALL.

So is this correct?

low: Oxff 
High: 0xff
Extended: 0xff

I need to use a 12 MHz xtal

\$\endgroup\$
1
\$\begingroup\$

CKDIV8 must be 1 (unprogrammed), and CKSEL must be %1111. The rest of the fuse bits are application-dependent and you must read the datasheet in order to determine what they should be.

\$\endgroup\$
1
\$\begingroup\$

There are numerous sites that provide fuse bit calculators for AVR, here is one: http://www.frank-zhao.com/fusecalc/fusecalc.php?chip=attiny2313

You'll have to check the datasheet (pg. 159) for their exact meaning, but when entering the calculator it pops up the default fuse settings for the device (64 df ff)

\$\endgroup\$
0
\$\begingroup\$

I would recommend to change only the fuses you need to change. According to http://www.engbedded.com/fusecalc the defaults are:

  • low: 0x64
  • high: 0xDF
  • ext: 0xFF

As said before you want to change CKDIV8, but you could also change this at runtime in software. The other bits you have to consider are SUT0 and SUT1 and CKSEL0 to CKSEL3. This depends on your circuit, so reading the manual is always a good idea. You see all these flags are in the low fuse. Leave the others ontouched. It is sufficient to set those fuses once, they will stay at this setting.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.