![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
我用串口调试助手,怎么知道串口和其他设备比如控制器建立的通讯 ,是发送什么通信询问码 ?
3个回答
展开全部
串口没什么固定询问的,所以需要知道该设备通讯协议。
很奇怪啊,不知道通讯协议,你用串口调试助手连接那个控制器想做什么呢?另外,你不知道通讯协议,那是不是知道它的波特率呢?要是连波特率也不知道,发送接收的东西都是没有意义的啊。
还有你用的串口线是那个控制器带的,还是你自己做的或者另外找的?你得确定是这个控制器是用交叉线还是直连的串口线。
首先要知道通讯协议和波特率,在该波特率下给设备发送命令,得到正确回复或者设备执行了该条命令对应的动作就说明连接上了。
或者是否能确定——以某种方式操作一下该设备,它会往外发些什么,而串口调试助手能够接收到,那也说明连接正确了。
楼上说的对,看看说明书上有没有说啥。
很奇怪啊,不知道通讯协议,你用串口调试助手连接那个控制器想做什么呢?另外,你不知道通讯协议,那是不是知道它的波特率呢?要是连波特率也不知道,发送接收的东西都是没有意义的啊。
还有你用的串口线是那个控制器带的,还是你自己做的或者另外找的?你得确定是这个控制器是用交叉线还是直连的串口线。
首先要知道通讯协议和波特率,在该波特率下给设备发送命令,得到正确回复或者设备执行了该条命令对应的动作就说明连接上了。
或者是否能确定——以某种方式操作一下该设备,它会往外发些什么,而串口调试助手能够接收到,那也说明连接正确了。
楼上说的对,看看说明书上有没有说啥。
更多追问追答
追问
谢谢你的回答 ,我了解到设备的485通讯的 ,我在电脑端是232转485和设备连接 ,我用这设备自带的软件可以和它通讯,所以我的通讯参数设置都是和软件里面的一样 ,比如波特率9600,但是我不知道这设备的通讯协议是什么 ,我很不专业的问就是我用串口能测出这个设备的通讯协议和格式吗 ?
追答
是点击设备自带的软件的某个按钮,设备会执行相应动作吗?是的话那你可以这样尝试一下:
你的电脑是否有两个串口,没有的话就找两台电脑,这样就有串口A和串口B。
连接:串口A—— 串口线(交叉线)—— 串口B
设备自带的软件——选择到该串口A
串口调试助手——选择到该串口B
两串口设置相同(波特率,是否有校验等)
点击设备自带的软件上的某个按钮,串口A就会往外发命令了,串口B就会接收到命令。串口B上的串口调试助手上就可以看到接收到些什么,接收到的就是设备自带的软件发出的命令了。
就这样将设备自带的软件上没个功能按钮都试一遍,就能知道每个功能的命令。
然后,你再将串口调试助手连接到设备上,向设备发送命令,看设备针对每条命令是否会做回复,有的话记录下来。
命令和回复都知道了,通讯协议就出来了。
展开全部
不明白 楼主要 达到什么目的
从程序分析:sum 的结果应该是 发送 字符代表的数!
如果只有的话,无需这样复杂
请看程序
Private Sub MSComm1_OnComm()
Dim buffer As String
Select Case MSComm1.CommEvent
Case comEvReceive
buffer = Trim(MSComm1.Input)
End Select
receivedata.Text = buffer
Print Val(receivedata.Text)
End Sub
Val(receivedata.Text) 就是 接收到的数值
调试没有问题
建议看书
Visual_Basic与_RS-232_串行通信控制
从程序分析:sum 的结果应该是 发送 字符代表的数!
如果只有的话,无需这样复杂
请看程序
Private Sub MSComm1_OnComm()
Dim buffer As String
Select Case MSComm1.CommEvent
Case comEvReceive
buffer = Trim(MSComm1.Input)
End Select
receivedata.Text = buffer
Print Val(receivedata.Text)
End Sub
Val(receivedata.Text) 就是 接收到的数值
调试没有问题
建议看书
Visual_Basic与_RS-232_串行通信控制
追问
就是一个控制器我不知道它是什么通信协议 ,我用串口调试工具给它发些数据,看它什么反应 ,但我怎么知道我跟它连接上了呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-05-11
展开全部
这个 不是 要看 设备的 说明书 吗
呵呵
呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询