易语言串口数据发送与接收问题

下图是我用串口调试助手调试时的正常数据发送和接收发送“1”下位机会返回10组16进制的字节,第一个“01”是发送“1”所得到的同样回复,最后一个“44”是校验位,去掉第一... 下图是我用串口调试助手调试时的正常数据发送和接收
发送“1”下位机会返回10组 16进制的字节,第一个“01”是发送“1”所得到的同样回复,最后一个“44”是校验位,去掉第一个,和最后一个,中间8组是下位机回复的正确数据。

我自己做了个实例,测试结果却是下面这种情况,收到的数据完全不符

如需源码请联系我,这里无法上传源码文件。
.
展开
 我来答
sjc_h2y
推荐于2017-09-08 · TA获得超过432个赞
知道小有建树答主
回答量:179
采纳率:100%
帮助的人:162万
展开全部
发送的数据应该是字节集数据{ 1 },而不是整数" 1 ",不知道你是不是这样发送的
接收每次只能接收到一个字节整数,如果要显示还需转换才能显示,前不久我作过该类调试,具体如下:
.版本 2

.子程序 _按钮1_被单击
.局部变量 JJ, 字节集
.局部变量 CH, 文本型, , "0"
.局部变量 i, 整数型

CH = 分割文本 (编辑框1.内容, “ ”, ) ' 用空格进行分割
i = 1
.判断循环首 (i ≤ 取数组成员数 (CH))
JJ = JJ + 十六进制文本到字节集 (CH [i])
i = i + 1
.判断循环尾 ()
端口1.发送数据 (JJ)

.子程序 _端口1_数据到达
.参数 数据字节值, 整数型

程序集字节集_收到的数据 = 程序集字节集_收到的数据 + 取字节集左边 (到字节集 (数据字节值), 1)
.如果真 (取字节集右边 (程序集字节集_收到的数据, 1) = 字节集_结束标志) ' 本例中: 字节集_结束标志 = { 44 }
编辑框_接收.内容 = 字节集到十六进制文本 (程序集字节集_收到的数据)
程序集字节集_收到的数据 = { }

只要是发送的命令数据正确,这是应该是正解,希望对你有所帮助
更多追问追答
追问

下面是我源码的发送与接收,请帮分析一下,是否有错,因为我不确定接收的是不是10进制,所以就暂定10进制数据,然后将其数据转成16进制输出

追答

接收没错,因为每次只能接收一个字节,应该有判断是否数据到达完毕的语句,应设置两个或三个在接收到的内容中不可能出现的特征字节集,比如换行符{13,10}

发送的子程序见图中的说明:

百度网友eb86d58
2019-05-22
知道答主
回答量:10
采纳率:0%
帮助的人:7522
展开全部
你需要一份阿斯克码对照表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式