我的是STM32F103+FATFS_R0.13a来读取U盘
检测U盘,挂载U盘,读取U盘容量,读取指定文件都没有问题
唯一就是对目录的操作:
res = f_opendir(&dir,"0:");
执行后返回值 res=0x00,所以说明能够打开目录
res = f_readdir(&dir, &fno);
执行后返回值 res=0x01,并且f_readdir(&dir, &fno);再执行一次会进入stm32f10x_it.c文件的HardFault_Handler内存管理异常死循环函数中
DEBUG的结果是:
f_readdir 函数下的
get_fileinfo(dp, fno) 函数下的
fno->fname[0] = 0; /* Invaidate file info */
if (dp->sect == 0) return; /* Exit if read pointer has reached end of directory */
在这里就进入HardFault_Handler这个内存管理异常函数
这里表示不明白!!!
网上找的修改启动文件堆栈大小这些方法试过还是不行
下面是内存管理异常的函数
void HardFault_Handler(void)
{
/* Go to infinite loop when Hard Fault exception occurs */
while (1)
{
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>