背景:STM32F427上需要进行OTA升级,选择C3芯片作为通信芯片。MCU与C3使用USART DMA进行通信,串口通信波特率2M。
AT固件版本:官方2.4.2.0与3.3.0.0分别进行测试。
问题:在C3使用WIFI AT指令进行WIFI联网后,使用AT+HTTPCLIENT=2,0,"下载地址",,,2,进行数据下载后转MCU串口接收保存到外部FLASH,文件大概有3.5MB大。
1、官方2.4.2.0固件,下载地址为http,全部数据下载完全后,MCU验证数据大小完整性会出现数据丢失的情况;当下载地址为https时,下载速度稍慢,但是成功率增加,还会有一种情况出现,时不时出现下载到某一时刻直接中止发送并且发送完成标志SEND OK。
2、官方3.3.0.0固件,下载地址为http,也是全部数据下载完,在验证数据大小完整性阶段易出现数据丢失情况;下载地址为https时,此版本容易出现下载到某一时刻直接中止发送并且发送完成标志SEND OK。
以上问题后面使用断点续传分包下载依旧存在,现将服务器下载速度降低到30KB/s,限制传输速度,保持串口通信波特率为2M,可缓解下载数据从服务器到C3模块传输时数据丢失的情况。
请问,在服务器与C3模块通信过程中丢失数据如何解决?怎么保证在下载数据时服务器与C3模块中数据不丢失?
求助!关于使用ESP32-C3芯片在STM32F427上作OTA升级模块时,无线通信数据收发问题
Moderator: XCGuang
-
JasonZhong
- Posts: 1
- Joined: Mon Aug 11, 2025 2:04 am
Re: 求助!关于使用ESP32-C3芯片在STM32F427上作OTA升级模块时,无线通信数据收发问题
您好!
1. 关于 “出现下载到某一时刻直接中止发送并且发送完成标志SEND OK” 这个问题。
这是一个已知的已修复的问题:https://github.com/espressif/esp-at/com ... a698526479
烦请使用 master 上的代码编译,或者从 GitHub Actions 里下载对应固件: https://docs.espressif.com/projects/esp ... ithub.html
2. 关于 “MCU验证数据大小完整性会出现数据丢失的情况”
您使用的是 UART 来通信,请问有配置 UART 硬件流控吗。示例命令:AT+UART_CUR=2000000,8,1,0,3。同时需要接 CTS 和 RTS 管脚到 STM32F427 的 RTS 和 CTS。
3. 关于 “下载地址为https时,下载速度稍慢,但是成功率增加”
因为 https 的情况下,数据的传输速度稍微慢于 http,所以理论上 uart 那边就有更多的时间来传输数据,这样成功率增加是可能的。
烦请使用 master 上版本进一步验证。
1. 关于 “出现下载到某一时刻直接中止发送并且发送完成标志SEND OK” 这个问题。
这是一个已知的已修复的问题:https://github.com/espressif/esp-at/com ... a698526479
烦请使用 master 上的代码编译,或者从 GitHub Actions 里下载对应固件: https://docs.espressif.com/projects/esp ... ithub.html
2. 关于 “MCU验证数据大小完整性会出现数据丢失的情况”
您使用的是 UART 来通信,请问有配置 UART 硬件流控吗。示例命令:AT+UART_CUR=2000000,8,1,0,3。同时需要接 CTS 和 RTS 管脚到 STM32F427 的 RTS 和 CTS。
3. 关于 “下载地址为https时,下载速度稍慢,但是成功率增加”
因为 https 的情况下,数据的传输速度稍微慢于 http,所以理论上 uart 那边就有更多的时间来传输数据,这样成功率增加是可能的。
烦请使用 master 上版本进一步验证。
Who is online
Users browsing this forum: No registered users and 2 guests
