Problem with SPI Flash AT25DF512C
-
I have checked wiring and soldering. The radio is working but I will for sure verify the DAC.
-
The DAC worked as well so there is only a problem with the SPI Flash. I even replaced the chip but get the same result. Maybe a software issue then.
-
what address do you use for it in the SPIFlash lib example?
For this chip, this should be 0x1F65 or you can remove the address, it works too.
But with Mysensors, it should work out of the box.
Works for me for both libs.
Then, it's hardware. but i would bet your problem is the address.. -
what address do you use for it in the SPIFlash lib example?
For this chip, this should be 0x1F65 or you can remove the address, it works too.
But with Mysensors, it should work out of the box.
Works for me for both libs.
Then, it's hardware. but i would bet your problem is the address.. -
SPI flash does not use an address to select the chip, as it has the CS line..
It's an JEDEC id, that identifies the chip vendor etc, and it seems that the SPIFlash library disables access, if the chip isn't identified correctly, according to this line in the spiflash library
@mardah try setting the jedec id to 0.
-
SPI flash does not use an address to select the chip, as it has the CS line..
It's an JEDEC id, that identifies the chip vendor etc, and it seems that the SPIFlash library disables access, if the chip isn't identified correctly, according to this line in the spiflash library
@mardah try setting the jedec id to 0.
-
have you tried with another board, but with only the at25 populated on the spi bus?
-
I hooked up a logic analyzer and discovered that there was no activity on SCK, MOSI and MISO when trying to use the SPI Flash.
Wrote my own sketch that only reads the jedec id from the SPI Flash and it worked. Must be something with the SPIFlash lib version.
Attaching a screenshot from the logic analyzer showing the jedec id read from the SPI Flash.

-
I found the problem: https://github.com/LowPowerLab/SPIFlash/issues/16
The sketch I used to verify the SPI Flash was missing a SPI.begin() in setup().