Go Down

Topic: Standard Fuse Settings for 16Mhz ATMega328p (Read 135297 times) previous topic - next topic

JohnnyFyve

My reset pin is a bit flaky cause I have a 10uF cap between reset and ground (per the instructions here http://arduino.cc/en/Tutorial/ArduinoISP). I re-ran the code with and without the cap, but with the reset pin securely held in place, and I got a different device signature;
Code: [Select]
avrdude: Device signature = 0x000000

I found a post about a signature of 0x000000 here: http://forum.arduino.cc/index.php/topic,25385.0.html but I haven't tried the suggestion(s) yet.

Coding Badly

Code: [Select]
avrdude: Device signature = 0x000000

...also indicates that the target (the processor on your "bad" Arduino) is not responding.

westfw

Quote
..indicates that the target (the processor on your "bad" Arduino) is not responding.

Or a wiring error (ie the response it not getting to the "programmer")  The SPI communications protocol just shifts data bits from the input pin into the peripheral; if you have something wrong with THAT pin connection, you end up shifting in randomness.

Outtasight

Winding back a bit...

Why are the Arduino Uno default extended fuses 0x05?  That's what it is in the Boards.txt file.  According to the fuse calculators I've looked at, this is an invalid / undefined setting.

The valid BOD settings for the extended fuses (according to the calculator) are:
0xFF (BOD disabled)
0xFC (BOD = 4.3V)
0xFD (BOD = 2.7V)
0xFE (BOD = 1.8V)

It also defaults the lock bits in the Boards.txt file to 0x0F which the calculator also says is invalid / undefined.

The valid Lock Bits settings (according to the calculator) are 0xFF for no lock downs on reprogramming.

http://eleccelerator.com/fusecalc/fusecalc.php?chip=atmega328p&LOW=FF&HIGH=DE&EXTENDED=FD&LOCKBIT=FF


Coding Badly

According to the fuse calculators I've looked at, this is an invalid / undefined setting.
Just because bits are undefined does not make zero values invalid.

I cannot speak about the m328p processor but two of the ATtiny processors always return zero for undefined fuse bits.  If values like 0xFE are used verification fails when trying to change the fuses.


Go Up