P图猫猫5月前
爱心代码李峋教程 爱心动图背景教程 爱心粒子动图教程 属于计算机代码的浪漫教程 python表白代码教程 python爱心代码详细步骤 属于计算机代码的浪漫 python满屏飘字的代码 python爱心代码详细步骤 python 怎么下载 李峋爱心代码动态效果 #豆包ai #豆包app #李峋爱心代码 #属于计算机代码的浪漫 爱心代码模板 #编程 c语言爱心代码详细步骤 python 爱心代码 python python 爱心代码用什么软件制作 爱心粒子代码python超详细教程 python 电脑怎么下载 李峋爱心代码粒子效果 python 爱心 python零基础入门教程 属于计算机代码的浪漫 热 python 爱心代码详细步骤 python 满屏飘字的代码 属于计算机代码的浪漫怎么弄 属于计算机代码的浪漫 c 语言 属于计算机代码的浪漫开始 python 简单浪漫代码 计算机的浪漫 属于计算机代码的浪漫解释 c 语言爱心代码 c 语言爱心代码用的什么软件 c 语言爱心代码 c 语言爱心樱花雨代码 c 语言爱心代码简单教程 c 语言爱心代码李峋 c 语言爱心代码跳动 c 语言爱心代码复制粘贴 c 语言 c 语言爱心代码 vs2022 c 语言爱心代码怎么发给别 python 编程表白代码 python 编程表白代码 python 满屏飘字的代码 python 编程表白代码教程 python 怎么下载 python 爱心代码 python 编程表白代码爱心代码 python 编程软件怎么下载 属于计算机代码的浪漫 热 python 编程 python 表白代码教程 python 满屏飘字的代码 python 编程表白代码 python 表白无法拒绝弹窗代码 python 爱心代码 c 表白代码教程 微信表白代码链接如何制作 python 表白 python 冰晶玫瑰 李峋爱心代码动态效果 李峋爱心代码原视频 李峋爱心代码视频素材 李峋爱心代码视频效果 李峋爱心代码原片段 李峋爱心代码动态图 李峋爱心代码讲解 李峋爱心代码全屏 李峋爱心代码运行 李峋爱心校徽 爱心代码 python 编程教学 爱心代码 python 编程教学 python 爱心代码详细步骤 c 语言爱心代码编程教学 爱心代码 python
00:00 / 00:23
连播
清屏
智能
倍速
点赞159
00:00 / 02:23
连播
清屏
智能
倍速
点赞246
00:00 / 01:05
连播
清屏
智能
倍速
点赞17
00:00 / 01:05
连播
清屏
智能
倍速
点赞8867
00:00 / 04:56
连播
清屏
智能
倍速
点赞6
00:00 / 01:37
连播
清屏
智能
倍速
点赞1366
00:00 / 00:15
连播
清屏
智能
倍速
点赞49
00:00 / 00:55
连播
清屏
智能
倍速
点赞3
自研 Modbus 协议代码: 踩过的“坑”与避坑指南 和大家分享自己编写Modbus协议代码时所踩过的那些坑。 Modbus协议作为工业领域最常用的通信协议之一,看似简单,但在实际开发中,尤其是在追求极致性能和稳定性时,自研代码往往会遇到各种意想不到的问题。 首先,谈谈为什么选择自研Modbus协议。这要追溯到2008年,当时的产品就开始使用Modbus通信。选择自研,主要有三个初衷:第一,我们希望深度掌控协议的每一个细节,而不是依赖一个黑盒的开源库。第二,自研代码可以针对我们使用的不同MCU进行极致优化,追求最高的效率和最低的资源占用。第三,自研代码意味着高度的灵活性,可以根据项目需求快速调整和扩展。正是在这条不断迭代、不断解决问题的道路上,积累了今天要分享的这些经验。 今天分享的目的:就是把过去踩过的那些坑,那些耗费了大量时间和精力才解决的问题,毫无保留地呈现出来。希望通过分享这些问题的现象、背后的原因以及解决方案,帮助大家少走弯路,提高开发效率,并写出更健壮、更可靠的代码。 第一个坑,也是最常见的一个:发送完成后切换接收的延时问题。在RS485这种半双工通信中,发完数据要及时切回接收模式,但时机非常关键。切早了,最后几个比特就发不出去,导致通信失败。 为什么会这样?主要有三点原因: 1. 协议规定:Modbus协议本身就规定了帧间要有3.5个字符时间的静默期,这是硬性指标。 2. 物理层延迟:信号从MCU内部到总线上,经过光耦、芯片等环节,需要一定的物理时间。 3. 中断理解错误:很多人把“发送缓存器空(TXE)”当成了发送完成,而实际上数据此时还在移位寄存器里。即使等到了“发送完成(TC)”中断,物理延迟依然存在,建议在TC之后再增加一段延时再切换引脚。 那么如何解决呢?我们的经验总结为三点。 第一,必须使用发送完成中断TC作为判断依据,这是最根本的保障。 第二,在TC中断里,不能立刻切换,必须加一个延时。推荐的延时是1.7个字符时间,这是考虑到物理层延迟的工程实践值。 第三,如何高效实现这个延时?不推荐为这点小事占用一个宝贵的定时器,而是建议在系统已有的高频定时器中断里,用一个全局变量做个简单的计数,时间到了再执行切换。 页面下方的这张图非常直观地展示了这个过程,Td就是我们需要的关键延时,只有等Td结束后,才能进行后续的切换动作。 #Modbus #嵌入式 #工业通讯 #单片机 #程序员日常 #硬件开发
00:00 / 08:27
连播
清屏
智能
倍速
点赞142
00:00 / 02:28
连播
清屏
智能
倍速
点赞9