社区
控件
帖子详情
用57600的波特率出现的问题?谁能帮手?
applewheal
2003-12-02 10:29:38
我在用VB做一个串口接收程序,用串口调试器可以完全正确的接收到串口的数据,但是我做的就不行.我用的串口设置是"57600,E,8,1",即波特率为57600BPS,偶校验.我用MSCOMM_ONCOMM这个事件接收信息的,收到的一部分字符被校验错代替字符"?"所代替了.我用二进制的方式接收的内容也完全一样,一部分是"?"的ASCII编码.这个程序的串口如果用"9600,N,8,1"的串口设置就一点问题都没有.请问有谁可以告诉我这是为什么,怎样解决吗?
...全文
442
11
打赏
收藏
用57600的波特率出现的问题?谁能帮手?
我在用VB做一个串口接收程序,用串口调试器可以完全正确的接收到串口的数据,但是我做的就不行.我用的串口设置是"57600,E,8,1",即波特率为57600BPS,偶校验.我用MSCOMM_ONCOMM这个事件接收信息的,收到的一部分字符被校验错代替字符"?"所代替了.我用二进制的方式接收的内容也完全一样,一部分是"?"的ASCII编码.这个程序的串口如果用"9600,N,8,1"的串口设置就一点问题都没有.请问有谁可以告诉我这是为什么,怎样解决吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
applewheal
2003-12-06
打赏
举报
回复
hehe...........不好意思,原来是终端设备的开发人员给错了校验的方式,是用"S",而不是"E".还是要多谢大家落力帮我手.给分了!
applewheal
2003-12-05
打赏
举报
回复
of123(),可以详细的告诉我用代码怎样实现吗?谢谢!
of123
2003-12-04
打赏
举报
回复
你的程序有问题。
1 设置成二进制接收方式
2 用一个Variant类型读回一个字节,再转存到Byte类型的数组中。如果是文字,用Chr()函数转换一下;否则,用Hex()函数转成十六进制字符串(注意不足10h的补0)。
AresChen
2003-12-04
打赏
举报
回复
我怎么想也觉得问题是属于你的粗心导致的,如果别人的程序可以,但你的程序死活不行,你最好在仔细检查一下属性的设置,尤其是MsComm控件的几个在运行时一般不设置的属性,比如什么接收缓冲啊什么的,我记不住名字了。
建议你,1、把代码中没用的属性设置去调;2、把窗体上的MsComm控件删掉,重新放一个上来;3、再次根据MSDN中的参考,仔细检查自己的代码,仔细想想,看看是不是有什么东西你想的过于复杂了。
AresChen
2003-12-04
打赏
举报
回复
你用别人写的程序可以接收到你需要通信的设备的信息吗?不是让别人写的程序之间进行通信,而是和你目标设备之间进行通信。
applewheal
2003-12-04
打赏
举报
回复
我试过各种波特率和变换校验位,什么都收不到.只有在57600波特率,使用偶校验的时候才可以收到信息.使用超级终端和别人写的串口调试程序都可以正确的收到信息,但是我的程序还是不能完全正确的收到信息.我好苦恼哦.
AresChen
2003-12-03
打赏
举报
回复
仔细检查双方在串口上的设置,如果你说已经检查过了,那就再检查一遍,当然,包括和你通信的那个设备的设置。你也可以设置成其他通信模式试试。
"57600,E,8,1",这是你的端口配置信息吗?
applewheal
2003-12-02
打赏
举报
回复
你好,通信距离不足一米.只是从电脑主机到桌面上的一个外接串口设备之间.用CSDN上下载的人家写好的串口调试器就接收完全正确,所有的设备完全不变,只是换成我的接收程序的话,串口设置也完全一样,每一条收到的信息里就会有一部分是校验错代替字符"?".如果是我的串口或连接线有问题的话,为什么别人的程序接收又完全无误呢?
海牛
2003-12-02
打赏
举报
回复
波特率为:57600,只适合非常段的距离通信。
海牛
2003-12-02
打赏
举报
回复
是不是通信距离太长了啊!如果通信距离太长,就不能用太高的波特率。如果通信距离较远,那就要使用相当低的波特率了!
AresChen
2003-12-02
打赏
举报
回复
试试是不是你的串口或者对方的串口芯片有毛病,你可以逐步的提高比特率,看看道多少开始发生这种情况。
另外就是,可以重新换一根连接线,早些年我些串口程序的时候,在高比特率的情况下也发生过类似的情况,后来发现是属于信号的干扰造成的。
另外就是,你可以观察一下接收道的数据,是没有一点正确的数,还是掺杂着部分乱码。如果有部分正确的数据的话,那很有可能是两方的串口芯片中有一方或两方都有毛病;如果一点都没有的话,你可以先检查一下,双方的比特率、校验位等设置的是否完全一致。
c51工具合集-定时器-
波特率
-串口调试
c51的好
帮手
,查看色环电阻数,
波特率
设置,串口调试,led显示码查询,一大堆小工具,免去查书本的麻烦,不管你是新手,老手,都会有作用的。
串口调试助手——单片机编程好
帮手
该软件可用于对单片机串口通信的调试,同时还可于测试不同的
波特率
。
单片机串口精灵
调试串口的好
帮手
,能发送也能接受,是调试串口的有力工具。
串口调试
帮手
一个很好而小巧的串口调试助手,支持常用的300-115200bps
波特率
,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符(包括中文),可以任意设定自动发送周期,并能将接收数据保存成文本...
双串口调试工具
2、多种串口
波特率
选择,支持不常用
波特率
3、数据显示/发送方式可以选择为ASCII方式或者HEX方式,可自动切换显示; 4、接收数据并显示时间,并且可以调整每个串口接收数据的显示颜色和字体大小 5、设置...
控件
1,451
社区成员
41,355
社区内容
发帖
与我相关
我的任务
控件
VB 控件
复制链接
扫一扫
分享
社区描述
VB 控件
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章