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

上海顾湘里品牌管理有限公司 2026/09/09 19:02:18

问题

选中代码,如果发送失败加延时会导致最外围的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] >
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

大连网站建设旅游网站建设方案

5分钟快速配置浏览器Markdown预览插件完整教程【免费下载链接】markdown-viewerMarkdown Viewer / Browser Extension项目地址: https://gi

2026/06/30 12:15:00

app网站建设网站建设专家

12月8日下午,中科亿海微电子科技(苏州)有限公司(以下简称 “中科亿海微”)总裁魏育成一行应邀赴西北工业大学集成电路学院

2026/06/30 10:45:22

网站建设合同宿迁网站建设

34%的中国消费者将“高营养价值”作为选择食品的首要因素,远超全球27%的平均水平,25%的消费者优先选择有机食品,是全球占比的近两倍。这组数据印证了健康消费

2026/06/30 11:25:25

南昌网站建设邵阳网站建设

百度网盘解析工具终极指南:轻松突破限速实现高速下载【免费下载链接】baidu-wangpan-parse获取百度网盘分享文件的下载地址项目地址: https://gitcode.com/

2026/06/30 13:57:08

专业网站建设网站建设培训

还在为游戏串流的高延迟和卡顿而烦恼吗?自托管游戏串流服务器Sunshine 2025版带来了三大核心技术突破,让你的旧电脑也能变身专业级游戏服务器。本文将带你深入了解如何实

2026/06/30 11:47:58

网站建设中图片杭州网站建设公司

用 ABAP 模拟 Currying:把参数绑定这件事做到极致很多 ABAP 开发者习惯了命令式写法:变量先声明、循环里改状态、过程里不断WRITE或更新内表。换到函数式编程的语境,会突然发现一件很有

2026/06/30 14:16:09

丹阳网站建设大庆网站建设

Bakta细菌基因组注释工具:从技术瓶颈到高效解决方案【免费下载链接】baktaRapid & standardized annotation of bacterial geno

2026/06/30 11:07:53

哈尔滨网站建设建设企业网站

Spring Data Elasticsearch 异常处理实战:一次讲透整合中的“坑”与解法你有没有遇到过这样的场景?项目上线前信心满满,结果刚一运行就报错

2026/06/30 13:00:04

商业网站建设青岛网站建设公司

FaceFusion镜像内置日志系统便于问题追踪在AI生成内容(AIGC)应用快速落地的今天,人脸交换技术如FaceFusion已广泛应用于数字人制作、影视后

2026/06/30 13:43:07

龙岗网站建设吉安网站建设

第一章:PHP 8.7新特性概览PHP 8.7 作为 PHP 语言演进中的又一重要版本,引入了多项提升开发效率、性能优化和类型安全的新特性。这些改进不仅增强了语言的表达能力

2026/06/30 12:59:04