当我同时使用 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 方法,所以我把它放在一个任务中并且它可以工作!!!