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

上海市超飘网络科技有限公司 2026/09/09 17:43: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] >
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

门户网站建设方案镇江网站建设

第一章:Open-AutoGLM 企业级部署合规改造方案在企业级AI系统部署中,Open-AutoGLM 需满足数据安全、权限控制与审计合规等核心要求。为适配企业内控标准&

2026/06/30 11:34:26

富阳网站建设贵州省建设厅网站

第一章:Open-AutoGLM微信自动化实战概述Open-AutoGLM 是一个基于大语言模型与自动化控制技术的开源框架,专为实现微信客户端的智能化操作而设计。它结合了自

2026/06/30 14:16:39

东莞网站建设网站建设高端

HuggingFace镜像网站同步更新lora-scripts项目,加速模型加载速度在生成式人工智能(AIGC)技术席卷各行各业的今天,越来越多

2026/06/30 13:32:36

律师网站建设黑龙江网站建设

Kotaemon微服务架构拆分建议:适应大规模部署在企业智能对话系统逐渐成为客服、知识管理与自动化办公核心组件的今天,一个关键问题摆在了架构师面前:如何让原本

2026/06/30 10:39:51

舟山网站建设呼和浩特网站建设

第一章:Open-AutoGLM 使用体验Open-AutoGLM 是一个面向自动化自然语言任务的开源框架,基于 GLM 架构构建,支持任务自动生成、模型微调

2026/06/30 13:14:05

网站建设重庆网站建设设计公司

YOLOv8 微信小程序插件化设想:轻量化应用场景在智能手机无处不在的今天,用户对“拍一下就能知道这是什么”的需求越来越强烈——无论是想识别路边的植物、判断手中的垃圾属于哪

2026/06/30 12:33:32

聊城网站建设上海公司网站建设

TikTok数据分析终极指南:如何构建智能社交洞察工具【免费下载链接】tiktok-apiUnofficial API wrapper for TikTok项目地址: https://g

2026/06/30 10:33:51

南宁网站建设西安企业网站建设

如何用HeyGem将一段音频应用到多个数字人视频中?在虚拟内容爆发式增长的今天,企业越来越依赖高效、低成本的方式批量生产高质量视频。比如,同一篇产品介绍文案&

2026/06/30 10:57:53

怎样建设网站互动网站建设

全面掌握uniapp-datetime-picker时间选择器的核心功能与应用技巧【免费下载链接】uniapp-datetime-picker项目地址: https://gitcode.com/gh_

2026/06/30 10:22:49

丹阳网站建设广州企业网站建设

在 C# 开发中,和数据库打交道是家常便饭,而ADO.NET就是我们操作数据库的“得力助手”。它的核心对象各司其职,搭配起来即可完成数据的增、删、改、查。本文

2026/06/30 11:01:23