论坛各位大神好!
我使用STM32F103ZET6移植了R0.10版本的文件系统,用于加载SD卡中的字库。现在问题来了,我用f_mount函数无法正确加载文件系统。
我比较困惑的时,如果文件系统加载不成功或者SD卡有问题,应该有个反馈,但是串口根本没有反应。
请大家帮我看看问题可能出在哪里,谢谢!
代码为:
[mw_shl_code=c,true]if(dataflash[0]!=0xaa||dataflash[1]!=0x55)
{
//Chip Erase
SPI_Flash_Erase_Chip();
//挂载SD卡
fr = f_mount(&fs0, "0:/", 1);
if (fr !=FR_OK)
{
while(USART_GetFlagStatus(USART2, USART_FLAG_TC)!=1);
USART_SendData(USART2,0x55);
}
else
{
while(USART_GetFlagStatus(USART2, USART_FLAG_TC)!=1);
USART_SendData(USART2,0xAA);
}
Delay(50);
f_result = f_open(&f0, "/sys/HZK32.bin", FA_OPEN_EXISTING | FA_READ); //在SD卡里搜索HZK32.bin
if(f_result == FR_OK)
{
Delay(50);
do{
f_read(&f0, TempBuffer, 256, &br);
SPI_Flash_Write_Page(TempBuffer, counter*256, 256); //按页写 每页256Byte
counter++;
}
while(br==256);
dataflash[0]=0xaa;
dataflash[1]=0x55;
SPI_Flash_Write_Page(dataflash,0x1f0000,2); /* 将结束标志写入block31 */
}
else
{
RA8875_DispAscii(0, 320, "Cannot find sys/HZK32.bin");
}
}
f_close(&f0);
[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
fatfs肯定有返回值,没返回值说明死机了,死在某地方,仿真跟踪代码。
---------------------------------
谢谢原子哥,发现是我的SD驱动代码有问题,正在调试。
一周热门 更多>