I am using arduino isp to program an ATtiny2313 avr microcontroller. Here's the problem, when I was doing Avir chip programming using default fuse values, everything worked fine. But then, I changed the fuse bytes because I wanted to use an external 16 MHz crystal. When I changed the LFUES value from 0x64 to 0xff (according to the calculation of fuse bits), the microcontroller stopped responding.
Now every time I try to program microcontroller using arduino uno isp, I get an error message: avrdude: Yikes! Invalid device signature Avdude: Required signature for ATtiny2313 is 1a 91 0a
and then fuse bytes shown after verification, all very strange 0x00: avrdude: safemode: Fuses is OK (H: 00, E: 00, L: 00)
I do not understand what the hell is going on and I have tried to deteriorate in the hours.
When programming, 16 MHz crystal should be connected to the microcontroller?
Please help!
Yes when you change the configuration bits to use external oscillator, the internal programmer The oscillator is no longer used. As long as this does not provide an external clock signal, the chip is stuck in the reset. When ISP tries to read a value, it is looking at the data line stuck in the reset state - this is where all 0x00 values are coming.
Hold the crystal or signal generator to the clock pin and you should be able to talk to the chip again.
No comments:
Post a Comment