VB 串口通讯奇怪现象?
我用的是VB中mscomm控件。做了一个测试电机的小程序。我用新式的台式机测试,速度3秒钟完成。但用笔记本电脑与旧式台式机,速度变为20秒。测试软件及电路及串口连接线都不...
我用的是VB中 mscomm控件。做了一个测试电机的小程序。我用新式的台式机测试,速度3秒钟完成。但用笔记本电脑与旧式台式机,速度变为20秒。测试软件及电路及串口连接线都不变的情况下,电脑一更换速度就会变掉,而且相当的离谱,请高手告之是何原因?在不使用API的情况下如何解决?怀疑自己用的MSCOMM控件有不足的地方,请高手指证。高分求助。
展开
6个回答
迪凯特科技(北京)有限公司
2023-07-28 广告
2023-07-28 广告
单片机串口通信数据丢失的原因可能如下:1. 按键通过串口发送对应命令,第一次按按键串口发送的指令正确且能把数据正确的显示出来,在第二次按按键串口发送的指令出现丢失的状况,可能是因为串口通信的波特率设置不正确。2. 如果单片机和外部设备的波特...
点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
展开全部
1、InBufferCount属性用于返回输入缓冲区内等待读取的字节个数,可通过设置该属性为0来清除接收缓冲区。InputLen属性用于设置并返回每次Input属性从接收缓冲区中读取的字符数,其缺省值为0。设置InputLen为0时,Input将读取接收缓冲区的全部字符。
故接收数据大小没有限制。但要注意发送端OutBufferCount属性,该属性用于设置或返回发送缓冲区大小,值为Integer型,表示传输缓冲区的字节数,缺省值为512字节。
2、发送:MSComm1.Output = Text1.Text
接收:If MSComm1.InBufferCount > 0 Then
Text2.Text = Text2.Text + MSComm1.Input
不用textbox的话可以定义一个指针来发送和接收数据。
3、你去查一下senddata定义的数据类型。最大收发数,由数据类型来限制。
4、应该是使用socket对像的getdata与senddata方法来完成。
你最好写两个程序,一个服务端,一个客户端。这样服务器端监听,客户端联接。两者握手联接后,就可以通信了。
故接收数据大小没有限制。但要注意发送端OutBufferCount属性,该属性用于设置或返回发送缓冲区大小,值为Integer型,表示传输缓冲区的字节数,缺省值为512字节。
2、发送:MSComm1.Output = Text1.Text
接收:If MSComm1.InBufferCount > 0 Then
Text2.Text = Text2.Text + MSComm1.Input
不用textbox的话可以定义一个指针来发送和接收数据。
3、你去查一下senddata定义的数据类型。最大收发数,由数据类型来限制。
4、应该是使用socket对像的getdata与senddata方法来完成。
你最好写两个程序,一个服务端,一个客户端。这样服务器端监听,客户端联接。两者握手联接后,就可以通信了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
变为20秒?
1、
是否将所有代码都放在了text里面,并且随时刷新,这样很耗费资源的,在电脑配置相差较大的时候,时间差别很明显,如果是这样,程序应该接近于不响应
办法:放到string变量中,最后再显示
2、是否mscomm版本问题,建议将程序打包后安装在别的电脑上试
1、
是否将所有代码都放在了text里面,并且随时刷新,这样很耗费资源的,在电脑配置相差较大的时候,时间差别很明显,如果是这样,程序应该接近于不响应
办法:放到string变量中,最后再显示
2、是否mscomm版本问题,建议将程序打包后安装在别的电脑上试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是使用socket对像的getdata与senddata方法来完成。
你最好写两个程序,一个服务端,一个客户端。这样服务器端监听,客户端联接。两者握手联接后,就可以通信了。
你最好写两个程序,一个服务端,一个客户端。这样服务器端监听,客户端联接。两者握手联接后,就可以通信了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该不是机子的问题,程序的不完善会造成这样的情况。
仔细看看comm控件的属性。
仔细看看comm控件的属性。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询