网站建设制作网站建设知识

随州市东正专用汽车有限公司 2026/09/09 18:25:15

问题

选中代码,如果发送失败加延时会导致最外围的while(1)时序变化,外围的while是每100ms循环一次的,有什么好的解决办法

AI回答

你的担忧很合理:在 for 循环里加 osDelay(100) 进行重试,如果 send 失败,实际会导致整个 while(1) 的周期变长(比如本来 100ms,失败重试后可能变成 200ms+),影响主循环的时序和实时性。

解决思路如下:

异步重试/任务分离
不要在主循环里阻塞等待重试。可以把“待重试的数据包”放到一个专门的重试队列或标志里,主循环每次轮询时都检查并优先处理重试队列。这样主循环不会被单次 send 失败拖慢。

定时器/延迟标志
记录需要重试的数据包和下次重试的时间戳,每次 while(1) 时判断是否到达重试时间,到达则重试,否则跳过。这样不会阻塞主循环。

单独线程/任务
如果系统支持,可以把发送和重试逻辑放到单独的线程或任务里,主循环只负责分发数据,发送线程负责重试和延时。

非阻塞重试(推荐)
只做一次 send,失败后记录重试标志和时间,下次 while(1) 到时再尝试重发,不用 osDelay 阻塞。这样主循环时序不会受影响。

相关代码

// 多包独立非阻塞重试机制 static uint32_t retry_tick[20] = {0}; if(msg.vehicle_debug_period == 0) { uint32_t now_tick = osKernelGetTickCount(); // 先处理所有到达重试时间的包 for(int i=0; i<20; i++) { if(vds_ptr->data_len[i] >
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

莆田网站建设网站建设专家

SiYuan网页剪藏终极指南:从零开始构建个人知识体系【免费下载链接】siyuanA privacy-first, self-hosted, fully open source pers

2026/06/30 12:55:03

凯里网站建设广西网站建设公司

AI竞赛夺冠利器:基于TensorFlow的模型调优策略在AI竞赛的战场上,胜负往往取决于毫厘之间——同样的数据集、相似的网络结构,为什么有人能冲进排行榜前1

2026/06/30 10:08:18

网站建设收费摄影网站建设

FUXA开源SCADA:5分钟构建工业级实时监控系统的完整指南【免费下载链接】FUXAWeb-based Process Visualization (SCADA/HMI/Dashboa

2026/06/30 10:40:21

大连网站建设泉州网站建设

Nacos 2.4.2命名空间管理终极解决方案:从缓存失效到性能调优完整指南【免费下载链接】nacosNacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管

2026/06/30 13:21:35

广州网站建设漳州网站建设

特殊儿童关爱:为孤独症儿童定制沟通训练语音在一间安静的康复教室里,老师正耐心地引导一名孤独症儿童完成“指认颜色”的任务。屏幕上出现一个红色圆形,紧接着响起温和

2026/06/30 13:38:06

深圳营销型网站建设邢台网站建设

番茄小说下载器技术架构深度解析:从Rust重构到高性能实现【免费下载链接】Tomato-Novel-Downloader番茄小说下载器不精简版项目地址: https://gitcode.

2026/06/30 13:45:37

大连网站建设福州网站建设

Excalidraw AI 支持中英文混合输入:让中文用户“所想即所得”在技术团队协作日益依赖可视化表达的今天,一张清晰的架构图往往胜过千言万语。然而,画图这

2026/06/30 13:44:07

云南网站建设随州网站建设

做老房换新实用门窗的品牌精选指南引言老房换新门窗是提升居住品质的重要工程,然而面对众多的门窗品牌,消费者往往不知如何选择。在众多选择中,工厂直营模式的品牌有着

2026/06/30 11:57:28

建设网站教程成都企业网站建设

ZeroBot-Plugin智能机器人多云集成终极指南:5大优势重塑企业自动化运维【免费下载链接】ZeroBot-Plugin基于 ZeroBot 的 OneBot 插件项目地址: ht

2026/06/30 12:44:33