Is it possible for just one aspect of an arduino processor to fail? - I'm thinking of SPI communication that is used to write to SD cards?
I've an arduino-mini pro design on a custom shield that has suddenly stopped writing to it's SD card. The card is ok (it works in other arduino projects), I've buzzed through the pcb and can't spot any problems, I've replaced the level shifter chip (the only external component between the pro mini and the SD card) I've tried other cards, and I've tried the test sketch I'm using on other arduino sketches, all to no avail.
So, is it possible for just the SPI circuitry to fail, and if so is there any way it of testing it internally? or am I going to have to replace the mini-pro (currently soldered onto the shield).
Just to clarify - my test sketch uses SD.h, not my own code so it shouldn't be a coding problem (and the code works on other projects)
Thanks, but I've already done something very similar with a voltmeter, the pins seem to work OK as simple digital I/o pins but what I really need to do is test them in ' Spi mode'
The arduino-mini seems to be working fine, it still does everything it used to do except write to disc. I feel I'm running out of things to test!
If you can disconnect MISO and MOSI (or at least MISO) from the level shifter or whatever it's soldered to you could then wire them together and do a loop back test:
SPI.begin();
byte a = 0x27; // just some number
byte b = SPI.transfer(a);
If it's working a and b will be the same. This won't test SCK though.
I think it was a dry joint on the level shifter chip. Each time I applied a test probe to the leg of the chip the extra pressure I was applying made it work, and each time I removed the probe it stopped working again.