FatFs应用!

2019-07-14 21:53发布

我们都知道,使用FstFs的IAP时,一般的程序编写格式如下:
  • void FunMode(void)
  • {
  •     FATFS fs;
  •     f_mount(0, &fs);
  •     // 其他代码部分
  •     f_mount(0, 0);
  • }


[color=rgb(51, 102, 153) !important]复制代码

但是这样还是会遇到问题,在函数中前途使用IAP时:
  • void Fun(void)
  • {
  •         f_mount(0, &fs);
  •         // 其他代码部分
  •         FunMode();              // 如果这里调用了此函数
  •         f_mount(0, 0);
  • }


[color=rgb(51, 102, 153) !important]复制代码

这时会遇到什么样的问题呢?在调用FunMode函数后,之前此函数中的FS之中或其他参数就被串改了,原因是在FunMode函数中从新对驱动0注册了工作区。为了解决这样的问题,一般采用两种方法实现。1-更改者两个函数中的驱动序号,一点要保证不一致。2-删除函数FunMode中的两个f_mount(0, &fs)和f_mount(0, 0)语句不在注册工作区。至于用哪种方法好,一切得根据自己的情况而定。



0条回答

一周热门 更多>