登录
首页 串口通信 串口通信
回帖 发帖
正文

主题:使用VB的MSCOMM控件编写的RS232通讯程序

点击:6678 回复:6

使用VB的MSCOMM控件编写的RS232通讯程序与TC编写的RS232通讯程序实际借口以后出现,互发数据为乱码现象,其中VB(PC1上运行)发送的0—9数字,结果在TC编写的程序(PC2上运行)里接受为q-z,于是依次减40H以图纠正,但是其他小写字母和标点的发送又错误。而在使用TC编写通讯程序发送给VB程序的时候则干脆接受到完全没有规律的乱码,例如输入“1111”则接受到“!”发送“1”则接受没有显示………………
希望得到指点,能确定的是同时使用双VB或者双TC接受系统的时候,一切正常,只有在使用不同语言编写的程序的时候发生错误,我怀疑是双方波特率设置不匹配的问题,因为本人只负责VB通讯软件的编写,无法检查TC程序是否正确。
还请高手指点我,在此先致谢意!
02-06-06 20:52
好象波特率设置不匹配会在OnComm事件中出现帧错误(Frame),可能校验不匹配或数据位不一致。
02-06-06 22:10
思南兄,请教另外的问题:我现在有个激光传感器,想用计算机实时显示其测量的数据。可是我在vb写程序的时候不懂怎么发命令给仪器以触发其测量。说明书上是这样写的,可是我外语差看不来:All characters with ASCII codes below 127 can be used for entering commands.A command is concluded by means of an ASCII code below 32(last character or terminator<trm>).
The DISTO OEM module 3.0(该仪器型号) also transmits a terminator to conclude a reply.The terminator transmitted is <cr><lf>.
触发测量的命令是:  g<trm>
cr 和lf在ascii码中均可查到,可是trm用什么表示好。我试了几个,如:chr$(13),CHR$(4),CHR(6)结果都使没动静。甚至<CR>也没动静
02-06-06 23:02
是不是象plc中的一样,那个trm是个站号啊,你试一下 g +站号+crlf。
02-06-15 18:33
不对啊,我这个是一个单独的传感器,不需要站号的
02-06-19 15:18
看看VB通讯。。。。。
13-11-06 15:33
十年前的贴子, 楼主早应该搞定了吧?没下文 怎么没封贴。
13-11-06 16:00

工控新闻

更多新闻资讯