威纶通官方论坛

通过串口助手发送16进制数到触摸屏,但是显示的数字不对

[复制链接]
发表于 2013-11-16 14:43:28 | 显示全部楼层 |阅读模式
我用串口助手发送16进制数到触摸屏,具体是通过宏指令读取串口数据 1.png 2.png
但是需要发N多次才可能显示一下~本来的想法是串口助手发送多少数据,屏幕就显示多少数据的。请问程序设置有什么不对的地方吗?请大神解救~
发表于 2013-11-17 21:29:32 | 显示全部楼层
你读取回来的变量是b,不是return_value.
还有你显示元件的数据格式和宏就不匹配。宏里面定义的单字有符号的十进制数据。显示元件是双字的16进制数。
 楼主| 发表于 2013-11-18 10:55:00 | 显示全部楼层
回复 2# weinview


   感谢版主回答。现在是发送16进制数ff,则显示255,发送16进制数4d,则显示77,显示正常;但是发送4D2时还是显示77,请问怎么设置才能使得发送4D2时显示1234?
3.png 4.png
发表于 2013-11-18 11:36:40 | 显示全部楼层
macro_command main()
unsigned short c=0,a,return_value
unsigned char b[3]

while c<1
  INPORT(b[0], "Free Protocol", 2, return_value)
  if return_value > 0 then
  a=b[1]+(b[0]<<8)
  SetData(a, "Local HMI", LW, 0, 1)
  c=c+1
  end if
  wend  
end macro_command


宏帮你改成这样。
串口发指令必须满足2个字节。
比如255要发 00 ff
77要发         00 4d
1234要发     04 d2
 楼主| 发表于 2013-11-18 11:58:13 | 显示全部楼层
学习了,灰常感谢版主耐心解答!!!
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-11-30 13:52

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

快速回复 返回顶部 返回列表