走到初衷使用STM32的地方,例子是读写W25Q,但是手上没有25Q,只有一个SPI接口的SD卡。在UNO上已经实验OK,线接好后,发现SD卡里有个寄存器转换表,跟例子的SPI接口不一样,要改的太多。

u32 SPI_FLASH_ReadID(void)
{
u32 Temp = 0, Temp0 = 0, Temp1 = 0, Temp2 = 0;
/* Select the FLASH: Chip Select low */
SPI_FLASH_CS_LOW();
/* Send "RDID " instruction */
SPI_FLASH_SendByte(W25X_JedecDeviceID);
/* Read a byte from the FLASH */
Temp0 = SPI_FLASH_SendByte(Dummy_Byte);
/* Read a byte from the FLASH */
Temp1 = SPI_FLASH_SendByte(Dummy_Byte);
/* Read a byte from the FLASH */
Temp2 = SPI_FLASH_SendByte(Dummy_Byte);
/* Deselect the FLASH: Chip Select high */
SPI_FLASH_CS_HIGH();
Temp = (Temp0 << 16) | (Temp1 << 8) | Temp2;
return Temp;
}
明天再搞,有点晚。
本文讲述了在STM32项目中,作者尝试使用SPI接口的SD卡替换W25Q,并介绍了如何适应SD卡特有的寄存器转换表,以实现`SPI_FLASH_ReadID`函数的修改过程。
5663

被折叠的 条评论
为什么被折叠?



