I've had my arduino Uno for a while and have been using it successfully to gather some sensor data and send it through serial to the computer, but now I can't upload new programs. The current program is uploading 4 bytes (analog read + '\n') 10 times every second. I am still receiving this data, so I don't think its a driver problem (I'm running windows 7, btw). I can program my friend's Duemilanove, so I don't think its my computer that's the problem.
When I press the upload button, the pin 13 LED flashes (so I don't think its a bootloader problem), and the Rx LED flashes a couple of times. But then the Tx LED just goes back to flashing rapidly, before it can transmit the new program.
If I press the reset button, one of 2 things happen. If I press it and release it quickly, it pin 13 LED and the Rx LED flash again, then Tx resumes flashing. If I press it and hold it for around a second, it flashes some more, but the computer gives up sending the program. I've tried all sorts of delays between compile and reset, but I just keep getting the same result.
Uploading in verbose mode gives the standard boilerplate messages, but halts on "avrdude: Send: 0 [30] [20]". When I press reset quickly, it just repeats this line.
It seems like the board is just transmitting data so fast that the computer can't get a word in. But this seems silly since even with a baud rate of 9600 it should be able to transmit far more data than it is.
Does anyone have any other tricks I can try before resorting to manually programming it with the ICSP pins? I haven't done this before and it looks fiddly, so I'd like to avoid it if possible.