ST意法半导体
直播中

张飞雄

7年用户 985经验值
私信 关注
[问答]

在指令MX_TouchGFX_Init() 后FATFS无法正常工作是何原因

当我同时使用 TOUCHGFX 和 FATFS 时,我只能在“MX_TouchGFX_Init();”之前在我的 SD 中创建/写入/读取文件。
f_mount(&SDFatFS, (TCHAR const*)SDPath, 0);
f_open(&SDFile, "DIO.TXT", FA_CREATE_ALWAYS | FA_WRITE); //使用 TGFX 这个得到 FR_DISK_ERR
f_write(&SDFile, wtext, sizeof(wtext), (void *)&byteswritten);
f_close(&SDFile);
f_mount(NULL, (TCHAR const*)SDPath, 0);
不确定这是否有帮助,但我注意到的唯一区别是在调试时:
  • 如果有MX_TouchGFX_Init();,在f_mount()之后,FatFs得到的值:0x2000a6a4
  • 在其他情况下,FatFs 等于值:0x2000a2fc

您知道在使用图形应用程序后我是否可以做些什么来使它们正常工作吗?
谢谢
编辑:我解决了。我想因为 MX_TouchGFX_Init() 是用 C++ 编写的,所以无法在 C 中读取 FATFS 方法,所以我把它放在一个任务中并且它可以工作!!!











更多回帖

发帖
×
20
完善资料,
赚取积分