我目前正在使用 Micrium OS-II 为 ST32 (STM32F103xC) 开发应用程序。到目前为止一切都很顺利,但我现在遇到了障碍,无法继续。
该板被配置为使用 SD 卡作为 USB 存储设备,以便主机 PC 可以复制保存在设备上的文件。这很好用,因为可以在 Windows 资源管理器中查看当前 SD 卡上的文件。
但是,当我尝试使用 FATFS 在我的程序中创建文件时,f_open() 返回 FR_NOT_READY。为了进一步调查,我构建了一些将文件写入 SD 的示例代码,它工作正常。所以我在我的程序中移动了编写代码,我发现如果我在启动 OS 多任务处理之前调用 f_open,它可以正常工作——我可以打开一个文件并写入它。在启用刻度之后(但在创建任务之前)立即放置代码会返回到获取 FR_NOT_READY。
我不确定我知道这意味着什么。我可以写入文件的位置是否有限制?写作时是否必须禁用多任务处理?(哎呀,肯定不是?)只是我无法写入我目前用作 USB 设备的 SD 卡吗?