
正文
vb.netapi串口 vb打开串口
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB.NET中如何处理串口通信接收的数据?
1、你可以预先约定一个截止附,读取的字节统统放到缓存区里,直到读到截止附再处理、显示。
2、不知道你是不是用51单片机往串口发数据,是的话那是因为51的sbuf最多存放8个字节,所以你发12个字节会分成两次发完。还有在接收的时候最好定义好通信协议,比如加一个侦头,一个侦尾,通过这两个字节的内容来接收数据。
3、VB0可使用MsComm控件实现串口通信。按通信协议和数据帧规约接收和处理数据。MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。
相关问答
Q1: 怎样在vb中自动检测到可用串口号的具体程序代码
1、vb0vb.netapi串口的话要调用API查看串口相关信息存在的注册表。HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM 通过读注册表的方法获得串口数量vb.netapi串口,当然也可以获得串口号了。
2、没有任何办法单独检测串口是否连接你只能实时向串口发送测试数据,这个测试数据必须要能够被串口连接的设备识别并且有返回数据才行。
3、你的问题比较难呀,vb.netapi串口我都是查询注册表来实现com口选择的,如果是自动我是循环发送该设备的指令,如果返回正确就确认这个串口。
4、循环打开串口,如果发生错误,则串口不存在。串口正在使用与不存在串口会返回不同的错误号,可以利用这一点来判断串口是否存在。
5、以免造成通信中断或者冲突等问题。总之,在VB中串口号的范围一般是1到16,具体取决于计算机硬件配置和操作系统对串口的支持程度,同时还需要设置正确的串口参数和注意串口的占用和释放。
Q2: VB.NET和单片机的串口通信
不会的,我记得我刚回答了和你这个一样的问题啊。中断产生后你有足够的时间把它移走的。一般说来,你不退出中断,不会收下一个数的。但是如果你在中断里呆的时间太长,会丢失数据的。
1,奇偶校验方法,建议使用TB8,RB8,如果你要放到字节里,也不是不可以,但在计算的时候,不能计算奇偶校验位本身。这样做的画可以考虑真个数据包一起效验。
不知道你是不是用51单片机往串口发数据,是的话那是因为51的sbuf最多存放8个字节,所以你发12个字节会分成两次发完。还有在接收的时候最好定义好通信协议,比如加一个侦头,一个侦尾,通过这两个字节的内容来接收数据。
VB与单片机通信。如 VB 为上位机,单片机为下位机。通讯必须以协议形式,不然分不清 是第一字节数据,还是第几个字节数据。
当vb收到一个字节了,vb产生OnComm事件,但是vb是windows 操作系统下的程序,执行到事件的mscommInput 时已经过去一定时间,串口是有缓冲区的,这时候读input已经传过来很多字节了。
16进制表示为 00 - FF 传送数据大于255,则用16位二进制(即2字节ASCII码组成)。10进制范围-32768到+32767。如有小数,则应由上下位机约定,不进行串送。串口通信中数制转换必须相当重视。以上是以二进制方式收发数据。
关于vb.netapi串口和vb打开串口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







