完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
先贴代码。
环境:ESP32-C3,使用了console、vfs组件Code: Select all /** * @brief 缓存写入文件 * @param buf:存入缓存 * @param len:存入长度 * @note fclose+fopen可以立即存入文件 */void FS_SaveBufToFile(uint8_t *buf, int len){ if(RecFile.state == 01) { fwrite(buf, len, 1, RecFile.REC); // fwrite(buf, 1, len, RecFile.REC); // fflush(RecFile.REC); // fsyncs(RecFile.REC); // pwrite(RecFile.REC, buf, len, 0); fclose(RecFile.REC); // vTaskDelay(100 / porttiCK_PERIOD_MS); RecFile.REC = fopen(RecFile.path, "a+"); // fprintf(RecFile.REC, "%s", buf); ESP_LOGI(TAG, "W"); } return;} 希望能实现的效果是该函数执行完后,直接取下TF卡,能看到数据已经被写入到文件中。 但是在尝试将数据写入TF卡时,发现数据不能立即写入到卡中。 无论是使用fprintf还是fwrite加fflush都无法立即写入,仅当使用fclose时才能写入数据。 目前只能不断的fclose+fopen,实在是太不优雅了 |
|
相关推荐
2个回答
|
|
|
f.write()之后需要调用f.flush()才能真正把数据写入TF卡。
|
|
|
|
|
|
从您提供的代码片段来看,您正在尝试使用ESP32-C3将数据实时写入TF卡。但是,由于代码片段不完整,我无法确定问题的具体原因。然而,我可以提供一些建议来帮助您解决这个问题。
1. 确保您的ESP32-C3已经正确连接到TF卡。检查硬件连接是否正确,包括电源、数据线等。 2. 确保您已经正确初始化了SPI接口和VFS(虚拟文件系统)。这通常包括配置SPI接口的时钟、MOSI、MISO和CS(片选)引脚。 3. 在您的代码中,确保您已经正确打开了文件。在`FS_SaveBufToFile`函数中,您应该在写入数据之前使用`fopen`函数打开文件。例如: ```c FILE *file = fopen("your_file_path", "w+"); if (file == NULL) { // 处理错误 } ``` 4. 在写入数据后,确保使用`fclose`函数关闭文件。这将确保数据被刷新到TF卡上。例如: ```c fclose(file); ``` 5. 如果您希望实现实时写入,可以考虑使用缓冲区。在这种情况下,您可以将数据先写入到一个缓冲区中,然后在缓冲区满时再将数据写入到TF卡。这样可以减少对TF卡的访问次数,提高写入速度。 6. 检查您的TF卡是否支持高速写入。如果TF卡的写入速度较慢,可能会影响到实时写入的性能。 7. 如果问题仍然存在,您可以尝试使用其他库或方法来实现数据写入,例如使用`esp_vfs_fat`库。 8. 最后,确保您的ESP32-C3固件和相关库是最新的,以获得最佳的性能和兼容性。 希望这些建议能帮助您解决问题。如果您需要更详细的帮助,请提供更完整的代码和错误信息。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
945 浏览 0 评论
1672 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5021 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1252浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2336浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2526浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1051浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 02:56 , Processed in 0.570879 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
586
