打印
[STM32F1]

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

[复制链接]
1746|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;

使用特权

评论回复
5
598330983| | 2015-10-11 15:16 | 只看该作者
那个是错误处理函数,也是说,如果出错了,才会跳到死循环防止破坏其他的数据

使用特权

评论回复
6
mintspring| | 2015-10-11 15:24 | 只看该作者
可能是某个子函数使用了该变量,所以不要随便弄,你可以通过定位功能,看看哪儿用了。

使用特权

评论回复
7
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

粉丝