hixon 发表于 2020-5-15 15:53:33

串口读取到的数据是10进制的还是16进制的?

本帖最后由 hixon 于 2020-5-15 15:54 编辑

1、有很多用户第一次使用串口读取数据时有个疑惑,device.com0.read() 返回的数据是10进制还是16进制?

其实串口读到的数据就是个字节数组,我们要进行比较的时候可以用10进制数来比,也可以用16进制来比,如:
var data = device.com0.read();
if (data == 0x64) {
}

if (data == 100) {
}
是一样的效果。

2、另外有的用户想让读到的数据以16进制形式显示到一个标签控件上。

ui.main.label.text = util.arrayToHexString(data); // util.arrayToHexString能够将一个数组转换成以空格分隔的16进制字符串,如 'aa bb cc ...'

3、还有的用户想只显示数组中的某一个字节到标签控件上。JS语言中,toString()可以将数字转换成字符,参数可以传想要的进制,如16,2。

ui.main.label.text = data; // data以10进制显示

ui.main.label.text = data.toString(2); // data转换成2进制后显示

ui.main.label.text = data.toString(16); // data转换成16进制后显示
页: [1]
查看完整版本: 串口读取到的数据是10进制的还是16进制的?