huangjx 发表于 2007-3-28 20:34:40

用labview向步进电机控制器发命令后,串口中读出乱码是怎么回事啊?急

我正在做的课题需要用labview给步进电机控制器发命令,我编的程序可以控制电机转,但是用read节点读串口的时候总是报错,“a framing error.......",用控制器自带的串口调试助手发命令时,也可以控制电机,但是在接收区里接收到的却是大段的乱码,就是有很多问号和一些汉字的那种乱码。


控制器给的命令的格式是这样的,@2D00SFFP0000FFFFGCRLF,其中命令都是以@开头的,D表示方向的设置,S表示速度的设置,P脉冲数的设置,红色的表示的是十六进制的设置值,G是表示执行的字符,CR换行,LF回车。


返回的应该是以#开头的字符串。


请高人给以解答,这个问题困扰了我好几天了,吃不好睡不好的,愁啊:(

飞雨天 发表于 2007-3-28 20:41:06

这个错误的意思大体是因为你没有设置好传输的格式,labview的串口配置要和控制器的相同~~
你拿错误代码去ni的网站上搜索下就可以了,写的很详细~~
还有可能是你的传输线路受到外界干扰(可能性不大~~)

上面的就是ni对这个错误的解释和建议。

另外:帖子发一个就够了:L

huangjx 发表于 2007-3-28 20:59:43

回复 #2 飞雨天 的帖子

不好意思,第一次上论坛比较激动
我看了一下,波特率等都是按照说明书上的设置的,应该没什么问题

huangjx 发表于 2007-3-28 21:22:16

回复 #2 飞雨天 的帖子

我还想问一下,就是控制器给的命令格式最后有换行和回车,而labview不是只看到\n才认为结束的吗,在write 节点要怎么写命令啊,,@2D00SFFP0000FFFFG\r\n,我是这样写的,不知道对不对

eeijiake 发表于 2007-3-28 21:24:08

值得去试一下,我好像就是只加了一个换行
页: [1]
查看完整版本: 用labview向步进电机控制器发命令后,串口中读出乱码是怎么回事啊?急