After uploading a sketch to my Duemilanove (+ the attached SpeakJet chip) including this line:
char SayIt[1000][20] = {
/* a */ {154,128},
/* able */ {7,154,171,138,145},
/* about */ {134,173,163,191},
... blah blah blah
the board’s pin 13 LED started flashing really fast and I was unable to upload anything else. I’ve tried two different computers (mac/pc), all the Serial port options. The RX LED flashes a couple of times, but it doesn’t stop the Pin13 LED strobing away.
As you can see from the attached video, the fast flashing starts immediately I release the reset button - it doesn’t look like there’s time for the sketch to even start running - there certainly isn’t time to sneak in an upload before the flashing starts.
Sometimes, after a while, the LED stops flashing. If I then try to upload a sketch, it starts flashing again. When I first plug in the USB, it pauses, flashes with a slightly different rhythm, then flashes fast once I hit reset. (It won’t accept an upload at any point)
( I get these errors from PC, slightly different from mac: avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51 )
I’d previously successfully uploaded the same code, but with a smaller ( [10][20] ) array. I can see I’m going to have to learn about PROGMEM before trying this again.
Is it really possible that creating a very big array bricks the board - it seems really unlikely?
Is there anything I can do apart from buying/making a programmer to reload the bootloader, or buying a new 328 chip?
Videos:
Here’s what happens when I hit the reset button:
http://yfrog.us/bei5oz (better quality at http://vimeo.com/7870145 )
Here’s what happens when I plug in the USB cable:
Thank you for any help that can save me buying a new board (or at least a new chip)!