Hi,
I recently short-circuited the 12V line about 10cm away from the arduino and it stopped working, maybe because of an overvoltage pulse.
The program (modbus slave) actually opened a communication channel but didn't react on modbus read or write commands.
RX and TX loopback works. Pressing the Reset button won't do anything.
It also shows up in the device manager.
I now got a MEGA board from a friend and uploaded the ArduinoISP (delay changed to 40).
I first tried it out over the IDE and triple checked the wiring.
Vss,GND,50,51,52,53 from the MEGA to the 6 pin header of the Nano. (no changes to the reset though or should I?)
It starts to burn the bootloader, the white light on the nano weakly flashes and it ouputs:
avrdude: Device signature = 0xffffff
avrdude: Yikes! Invalid device signature.
avrdude: Send: Q [51] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
When I used the -F command to ignore this just to try it it burns for about 2 seconds and asks me If I want to change the efuse back (it was 5 and is now 7)
Pressing No will cause it to stop with an "avrdude done" but several errors and still no response from the nano
Pressing Yes will trap me in a loop and keep on burning forever.
How can I find out if the chip is broken or what should I do next?
I would need it on wednesdy so If its the chip I would solder in a new one tomorrow.
Thanks a lot!
Command:
D:\Users**\Desktop\Arduino\arduino-1.0.1\hardware/tools/avr/bin/avrdude -CD:\Users*\Desktop\Arduino\arduino-1.0.1\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -cstk500v1 -P\.\COM8 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m -F
Lower part of the avrdude output:
avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0x05:
avrdude: load data efuse data from input file 0x05:
avrdude: input file 0x05 contains 1 bytes
avrdude: reading on-chip efuse data:
Reading | | 0% 0.00savrdude:
Send: V [56] P [50] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
Reading | ################################################## | 100% 0.05s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x05 != 0x07
avrdude: verification error; content mismatch
avrdude: Send: V [56] P [50] . [00] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 1, lfuse value: ff
avrdude: Send: V [56] P [50] . [00] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 2, lfuse value: ff
avrdude: Send: V [56] P [50] . [00] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 3, lfuse value: ff
avrdude: safemode: lfuse reads as FF
avrdude: Send: V [56] X [58] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 1, hfuse value: ff
avrdude: Send: V [56] X [58] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 2, hfuse value: ff
avrdude: Send: V [56] X [58] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 3, hfuse value: ff
avrdude: safemode: hfuse reads as FF
avrdude: Send: V [56] P [50] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 1, efuse value: 7
avrdude: Send: V [56] P [50] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 2, efuse value: 7
avrdude: Send: V [56] P [50] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 3, efuse value: 7
avrdude: safemode: efuse reads as 7
avrdude: safemode: efuse changed! Was 5, and is now 7
Would you like this fuse to be changed back? [y/n] n
avrdude: safemode: Fuses OK
avrdude: Send: Q [51] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude done. Thank you.