串口读取数据为什么连读两次?

yuanchao1985 yuanchao1985 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
以下是代码

下图是用串口调试工具,通过虚拟串口发送的数据

下面是debug显示的抓取的数据和缓冲区的剩余长度


代码:
Private Sub Form_Load()
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
End If
MSComm1.PortOpen = True
MSComm1.RThreshold = 3
MSComm1.InputLen = 3
End Sub

Private Sub Form_Unload(Cancel As Integer)
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
End If
End Sub

Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent

Case comEvReceive


MSComm1.InputMode = comInputModeBinary
Dim temp() As Byte
temp = MSComm1.Input

Debug.Print "第一个数据:"; temp(0), "第二个数据:"; temp(1), "第三个数据:"; temp(2), "缓冲区剩余字节数:"; MSComm1.InBufferCount


End Select
End Sub



我只想读取一次共三个字节的数据做判断,然后再决定接下来的数据怎么收。为什么连读了两次数据?
还有怎样改代码可以实现只读一次,读三个
...全文

相关推荐

matlab从串口读取数据

本资源实现在matlab中建立串口,并从该串口进行数据的实时读取,注释详细,易于使用和修改,值得下载!

Cau_Cieer_Xu

LSM6DS3TR-C数据可视化:匿名上位机波形调试全流程解析

在运动检测系统调试中,传感器输出的原始十六进制数据往往难以直接反映真实运动状态,而将加速度计与陀螺仪数据实时绘制成波形曲线,则能极大提升问题定位效率。其核心原理是将传感器寄存器中的原始数值,根据量程配置换算为具有物理单位的加速度与角速度,再按照匿名上位机协议完成字节拼接、校验和计算,最后通过串口发送至上位机还原为动态波形。这一技术链路不仅适用于LSM6DS3TR-C,也普遍适用于其他惯性传感器,在姿态解算、步数检测及跌倒检测等嵌入式应用中,可视化波形是验证数据正确性与算法可靠性的关键基础设施。本文从寄存器读

西瓜呆毛汪

基于FPGA读写MT25QL SPI NOR Flash的工程实现与验证

SPI NOR Flash凭借其接口简单、可靠性高,成为嵌入式系统中固件与配置数据存储的主流方案。其核心工作原理是通过SPI总线在主控与存储芯片之间完成命令、地址和数据的串行传输,并依赖状态寄存器轮询确保擦写操作完成。在FPGA开发中,自行设计SPI控制器与Flash应用层状态机,不仅能够精确掌控时序细节,还为跨平台复用提供高灵活性。该技术广泛应用于Xilinx评估板驱动、固件升级、数据采集存储等场景。基于FPGA读写MT25QL系列SPI NOR Flash的完整示例,从芯片选型、指令时序、Verilog

weixin_34391445

对python3 Serial 串口助手的接收读取数据方法详解

今天小编就为大家分享一篇对python3 Serial 串口助手的接收读取数据方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38684509

英语连读规则及练习-附录音.pdf

英语连读规则及练习-附录音.pdf

erxingyoudu
评论 15
收藏 已收藏
分享
返回顶部
yuanchao1985
VB基础类 7,788 成员 197,583 内容