做项目。 由于硬件没有设计用于停止写入文件的按钮(或信号),因此关闭设备后,windows将不再显示文件。 然后,使用f_sync函数,每次写入SD卡时都用f_sync保存。 每秒使用约16次,连续10几个小时收集并保存数据。 本以为万无一失,结果发生了悲剧。 有些设备最初几小时数据正常,后面的数据直接错误。 有些设备从一开始就直接写入错误。
解决方案:
)1)每次使用时格式化SD卡。
)2)减少f_sync函数的使用频率。 增加长缓冲区。
)3)用添加设备按钮停止写入文件,用f_close函数关闭文件。 不使用f_sync函数。