2 baidu 31083567 baidu_31083567 于 2016.01.19 14:40 提问

串口接受的十六进制数据如何赋值给int型的变量呢

我定义一个int变量 int h=0;接受的一个串口数据为WPARAM ch,我想把这个ch赋值给h,h=(int)ch;这样为什么不可以呢,也就是我想要把接受到的00变为int型的0,01变为1 应该怎么转换呢

4个回答

qq_27183003
qq_27183003   Ds   Rxr 2016.01.19 14:45

你用的什么编译器?我用vc2010编译可以通过。

qq_27183003
qq_27183003 你说的不可以是什么意思?编译没通过?是控制台程序?
接近 2 年之前 回复
baidu_31083567
baidu_31083567 我的就是vs2010呀
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.01.19 21:25

我也觉得可以,你输出下wparam,是不是没有获取到值

sslive
sslive   2016.01.19 15:01

试试sprintf()函数

91program
91program   Ds   Rxr 2016.01.19 14:52

通过串口,你最好先将数字转成字符串,如 0 转成字符串“0”再发送。
接收方,收到到字符串“0”后,使用 atoi 再转成数字后,赋值给 h .

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!