I downloaded a code to Atmega328p using progisp using the following fuse bits.
Fuse bits: 0xFDD9FF where the low fuse bits are 0xFF, high fuse bits are 0xD9 and Ext. fuse bits are 0xFD. It works fine.
Later i thought of using the internal oscillator and for that i changed the fuse bits as following.
Fuse bits: 0xFDD973 where the low fuse bits are 0x73, high fuse bits are 0xD9 and Ext. fuse bits are 0xFD. It flashed and threw a flash verify error and since then, it is showing chip program enable error. How should I proceed?
Any help is greatly appreciated!
Thanks and Regards,
Hello? No one has encountered this before?
low fuse bits are 0x73
This is "Undefined Preset 7":
How did you come up with this low fuse value?
The confusing thing about fuse bits is that programmed = 0 and unprogrammed = 1. I'd guess you ended up accidentally inverting all the bits from what you had intended (0x8c) but that's for an external crystal, so maybe not.
What should be the fuse bits if I want to use the internal oscillator?
E2 for low fuses
I suspect the chip has been soft-bricked at this point, suspect you would need to use HVSP to restore it so you could program it again.
E2 for low fuses and the high and extended fuse bits remain the same? i.e 0xD9 and 0xFD. I have isp programmer, can it not be restored using isp?
According to the datasheet 0x73 selects the 128kHz oscillator and the divide by 8 fuse so your avr is running at 16kHz. Try adding -B 4kHz to the avrdude command line.
Actually i flashed it using progisp. So I am not sure how to do this using progisp? Is it necessary to use AVRDUDES to restore it?
Well you need to set the spi clock speed to about 1/4 the clock speed of the avr. How you do that with progisp I have no idea.