我正在尝试将SD卡与STM32F4接口,但事情不起作用,代码是使用cubemx开发的
调试步骤:
我单步执行代码fmount是成功的,但当我逐步执行fopen
时,find_volume()
处的错误代码返回FR_NOT_READY
。
硬件连接:
我有带有SPI引脚的arduino micro SD分线板,因此连接
int main(void)
{
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* Configure the system clock */
SystemClock_Config();
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_SDIO_SD_Init();
MX_FATFS_Init();
HAL_Delay(1000);
/* USER CODE BEGIN 2 */
if(f_mount(&mynewdiskFatFs,(const TCHAR*)SD_Path, 0) == FR_OK)
{
if(f_open(&MyFile, "abc.txt", FA_READ ) == FR_OK)
{
// GPIO_SetBits(GPIOD, GPIO_Pin_15);
if(f_read(&MyFile, wtext, sizeof(wtext), (void *)&wbytes) ==FR_OK);
{
f_close(&MyFile);
}
}
}
while (1)
{
}
}
答案 0 :(得分:0)
f_open(&MyFile, "abc.txt", FA_READ )
查看ffconf.h中有关文件名的配置选项。
尝试使用(FA_OPEN_EXISTING | FA_READ)标记。
以100ms间隔重复使用f_open(),比如5次,直到它返回FR_OK。
答案 1 :(得分:-1)
嗨turboJ我正在使用1位宽SDIO模式连接SD卡,所以没有使用CS我猜