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

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

下面是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中建立串口,并从该串口进行数据的实时读取,注释详细,易于使用和修改,值得下载!
LSM6DS3TR-C数据可视化:匿名上位机波形调试全流程解析
在运动检测系统调试中,传感器输出的原始十六进制数据往往难以直接反映真实运动状态,而将加速度计与陀螺仪数据实时绘制成波形曲线,则能极大提升问题定位效率。其核心原理是将传感器寄存器中的原始数值,根据量程配置换算为具有物理单位的加速度与角速度,再按照匿名上位机协议完成字节拼接、校验和计算,最后通过串口发送至上位机还原为动态波形。这一技术链路不仅适用于LSM6DS3TR-C,也普遍适用于其他惯性传感器,在姿态解算、步数检测及跌倒检测等嵌入式应用中,可视化波形是验证数据正确性与算法可靠性的关键基础设施。本文从寄存器读
基于FPGA读写MT25QL SPI NOR Flash的工程实现与验证
SPI NOR Flash凭借其接口简单、可靠性高,成为嵌入式系统中固件与配置数据存储的主流方案。其核心工作原理是通过SPI总线在主控与存储芯片之间完成命令、地址和数据的串行传输,并依赖状态寄存器轮询确保擦写操作完成。在FPGA开发中,自行设计SPI控制器与Flash应用层状态机,不仅能够精确掌控时序细节,还为跨平台复用提供高灵活性。该技术广泛应用于Xilinx评估板驱动、固件升级、数据采集存储等场景。基于FPGA读写MT25QL系列SPI NOR Flash的完整示例,从芯片选型、指令时序、Verilog
对python3 Serial 串口助手的接收读取数据方法详解
今天小编就为大家分享一篇对python3 Serial 串口助手的接收读取数据方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
英语连读规则及练习-附录音.pdf
英语连读规则及练习-附录音.pdf


VB基础类
