0

I'm worked with Low Fuse bits in AVRDUDEPROG 3.3. Fuses was non-inverted. And by mistake I enabled SUT1 and SUT0, when SUT0 was enabled. And when I programmed avr, it shows me error that avrdude.exe: initialization failed, rc=-1. I have read I can restore it with Avr Fuse Doctor, but I can't buy or make with pcb. Can I recover avr with:

#include <avr/io.h>

int main(void) {
    DDRB = 0xFF;
    while(1) {
        PORTB ^= 0xFF;
    }
}

and load it to another avr and connect it to broken avr?

Can I make doctor on breadboard or Can I do it with usbasp/isp?

Can I load a new bootloader in it?

  • It doesn't answer your question, but I foubd this online tool very useful when configuring fuses on avr-uCs: engbedded.com/fusecalc – Sim Son May 9 at 15:42
1

The following is from: https://www.allaboutcircuits.com/projects/atmega328p-fuse-bits-and-an-external-crystal-oscillator/

"The two bits to be avoided unless you are absolutely certain you know what you are doing are bit7, the RSTDISBL (external reset disable) bit and bit 5, the SPIEN (Serial Peripheral Interface Enable) bit. Disabling either one is often the cause for "bricked" Atmel µCs; "leave them alone" is good advice."

According to the article SUT0 and SUT1 are clock start up time related bits. It doesn't seem as though it is necessary to use anything special to change them.

You will find the information at the website very usefu. I know I have.

The High Voltage (other names too) programmer you have mentioned should not be necessary if you only changed the SUT0 and SUT1 fuses.

HOWEVER, if you did change the SPIEN or RSTDISBL fuses, you should either get one of the special programmers or just purchase another 328P microprocessor.

If you search the internet for "AVR High Voltage programmer" you will find many ideas for how to build one.

This link :https://electronics.stackexchange.com/questions/33/arduino-as-avr-programmer/71 provides good information.

  • I have got 2 atmega328 and one uno. OK. But I didn't touch to Rest disable or Spi enable(I coiuldn't touch him because it was untouchable). I have set CKSEL to 0000 without invert. And set SUT1,0=11 non-invert and I loaded it to avr. With CKSEL=0000 It worked because I have got external Crystal with 16 MHZ. But when I loaded sut1,0=11 It shows me Error that avrdude cannot connect it. – TheFnafException May 8 at 6:46
  • And if you now, what High Voltage programmer is? – TheFnafException May 8 at 11:02
  • If it is 5V programmer? – TheFnafException May 8 at 11:03
  • 1
    No, it switches 12V in to reset the fuses. Nick Gammon has a nice writeup on it here gammon.com.au/forum/?id=12898 with a schematic showing the setup needed to bring the Reset pin to 12V for the needed duration under software control. – CrossRoads May 8 at 12:12
  • Thanks but can I get 12V adapter and connect to atmega with resistor. And which contact I connect it? – TheFnafException May 8 at 16:24

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.