[STM32F1] 关于FAFTS文件系统FIl结构体的问题!!

[复制链接]
2089|6
 楼主| xcl_fighting 发表于 2015-10-11 10:56 | 显示全部楼层 |阅读模式
AD, rc, ST, IO, TE
定义:FIL bmpfsrc, bmpfdst;
然后打开:f_read(&bmpfsrc,&bitHead,sizeof(tagBITMAPFILEHEADER),&read_num);这样是可以的,
但是我看见定义FIL bmpfsrc, bmpfdst; 的时候多了一个bmpfdst,因为下面根本没有用这个,所以我就把他删除了,但是问题就出现了,编译连接都不报错,但当把程序下载到开发板后执行f_read(&bmpfsrc,&bitHead,sizeof(tagBITMAPFILEHEADER),&read_num);就会跳入一个死循环,这是为什么,不删除bmpfdst就不会进入死循环!
/**
  * @brief  This function handles Hard Fault exception.
  * @param  None
  * @retval None
  */
void HardFault_Handler(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {
  }
}
}愿高手指点一二!!!!
 楼主| xcl_fighting 发表于 2015-10-11 10:58 | 显示全部楼层
后面的代码就是跳入的那个死循环!!!
ticomi 发表于 2015-10-11 13:08 | 显示全部楼层
FATFS系统是一个很成熟的系统,虽然我也看到其中存在一些隐藏很深的BUG。最后不要去修改源代码文件,在不懂或者不理解FAT的情况下更不能修改!

评分

参与人数 1威望 +1 收起 理由
xcl_fighting + 1 赞一个!

查看全部评分

 楼主| xcl_fighting 发表于 2015-10-11 13:37 | 显示全部楼层
ticomi 发表于 2015-10-11 13:08
FATFS系统是一个很成熟的系统,虽然我也看到其中存在一些隐藏很深的BUG。最后不要去修改源代码文件,在不懂 ...

难道每次用f_read()函数的时候都要定义两个FIL结构题的变量吗???FIL bmpfsrc, bmpfdst;
598330983 发表于 2015-10-11 15:16 | 显示全部楼层
那个是错误处理函数,也是说,如果出错了,才会跳到死循环防止破坏其他的数据
mintspring 发表于 2015-10-11 15:24 | 显示全部楼层
可能是某个子函数使用了该变量,所以不要随便弄,你可以通过定位功能,看看哪儿用了。
ticomi 发表于 2015-10-12 08:58 | 显示全部楼层
xcl_fighting 发表于 2015-10-11 13:37
难道每次用f_read()函数的时候都要定义两个FIL结构题的变量吗???FIL bmpfsrc, bmpfdst;  ...

FRESULT f_read (FIL* fp, void* buff, UINT btr, UINT* br);                        /* Read data from a file */

你使用的是哪个版本的?谁开发的?感觉我使用的和你的不一样呢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部