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

郑州顺裕和商贸有限公司 2026/09/09 20:35:42

问题

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

网站建设总结建设官方网站

系列文章目录文章目录系列文章目录前言一、堆排序定义二、时间复杂度三、实现思路a.注意(升/降)四、topk问题前言常见的基本排序算法有冒泡、选择、插入,但效率

2026/06/30 11:56:29

西宁网站建设辽宁省建设厅网站

💡实话实说:用最专业的技术、最实惠的价格、最真诚的态度服务大家。无论最终合作与否,咱们都是朋友,能帮的地方我绝不含糊。买卖不成仁义在ÿ

2026/06/30 12:04:29

南宁网站建设宝安网站建设

嵌入式图像转换终极指南:5分钟掌握image2cpp核心技巧【免费下载链接】image2cpp项目地址: https://gitcode.com/gh_mirrors/im/image2

2026/06/30 10:53:22

东阳网站建设网站建设全包

“deadline 只剩 3 天,课程论文还没动笔?”“参考文献找了半天,格式混乱不知如何规范?”“写完查重率超标,改到崩溃还怕

2026/06/30 11:45:57

网站建设策划书西安专业网站建设

自动化扫描工具的使用与网站漏洞检测在进行网站漏洞扫描时,为避免对目标应用的信息造成破坏以及对服务产生干扰,需要考虑一些关键方面。默认配置下的Web应用程序漏洞扫描器,通常会爬取整个网站,利用爬取得到的

2026/06/30 13:33:36

网站制作建设网站建设什么

Java小白求职面试:从Spring Boot到微服务架构的技术探讨面试场景在一家知名互联网大厂的会议室里,严肃的面试官正在面试一位名叫“超好吃”的Java小白求职者。场景

2026/06/30 13:57:38

网站公司建设网站专业建设

PyTorch-CUDA-v2.7镜像对分布式训练的支持能力在现代AI研发中,一个常见的场景是:团队拿到了一批新卡(比如A100),

2026/06/30 13:22:05

大型网站建设邯郸网站建设

异常输入处理机制:空图像、损坏文件的容错设计背景与挑战:通用视觉识别中的鲁棒性需求随着多模态大模型和通用视觉理解技术的快速发展,万物识别-中文-通用领域模型成

2026/06/30 14:12:09

昆明网站建设英文网站建设

还在为音乐播放器的后端开发而苦恼吗?酷我音乐API Node.js版为你提供了一套完整的解决方案。基于Egg.js企业级框架构建,这个开源项目让音乐API开发变得前所未有的

2026/06/30 13:17:05