当前位置:
工控论坛
> >
产品
>
工业互联
>
RS485/232/442
我要发帖
如何发送十六进制的变量
点击:
587
| 回复:
4
夜凉如水
关注
私信
精华:0帖
求助:0帖
帖子:3帖 | 0回
年度积分:0
历史总积分:59
注册:2003年12月24日
发表于:2004-01-10 23:23:00
楼主
一般的程序是这样发送的 a(0) = 2 a(1) = &H24 a(2) = &H31 a(3) = &H2D a(4) = 3 MSComm1.Output = a 但是我现在a(2)的值是一个变量,n或者2n,直接写a(2)=n的话,测出来发出的数据就不对了。 试过a(2)=&H+n,a(2)=text1.text+n都不对,我该怎么写?谢谢指教!
分享到:
收藏
邀请回答
回复楼主
举报
GaryLin
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 1186回
年度积分:0
历史总积分:1263
注册:2003年4月15日
发表于:2004-01-09 17:53:00
1楼
a(2) = CByte(n) Make sure your n is 0 ~ 255. Visual Basic 与RS-232串行通信控制 Visual Basic 与分布式监控系统 http://www.icpdas.com.cn/products/books/book_c.htm
回复
引用
举报
小丫头
关注
私信
精华:0帖
求助:0帖
帖子:6帖 | 11回
年度积分:0
历史总积分:79
注册:2003年10月23日
发表于:2004-01-09 22:31:00
2楼
没用的,比如我的n设为31,发送a(2) = CByte(n),结果发送的是1F,而我需要的是&H31,而如果a(2) = CByte(Hex(n)),则显示类型不匹配.
回复
引用
举报
GaryLin
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 1186回
年度积分:0
历史总积分:1263
注册:2003年4月15日
发表于:2004-01-10 10:54:00
3楼
a(2)= CByte(Val("&h" & Hex(n)))
回复
引用
举报
小丫头
关注
私信
精华:0帖
求助:0帖
帖子:6帖 | 11回
年度积分:0
历史总积分:79
注册:2003年10月23日
发表于:2004-01-10 23:23:00
4楼
终于调好了,是a(2) = CByte(Val("&H" & n )). 谢谢GaryLin!
回复
引用
举报
热门招聘
相关主题
现场总线的难题
[1983]
在PCS7 V7.0 SP2下安装中央归...
[1455]
求助:关于模拟信号转Modbus?...
[1543]
高速通讯中阻抗匹配的研究
[3068]
精细农业中的现场总线选型
[1637]
综述:兼容并蓄—现场总线的发...
[2430]
DeviceNet 简介
[2902]
智能化系统工程设计中的若干...
[1937]
profibus总线连接器 总线最新...
[1397]
各厂家PLC联网比较讨论
[3527]
官方公众号
智造工程师
客服
小程序
公众号