微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > zigbee串口如何以十六进制发送数据

zigbee串口如何以十六进制发送数据

时间:10-02 整理:3721RD 点击:

如题

请问你具体是问什么?printf函数怎么发? 十六进制只是数据的不同表达形式,比如字符'1‘,十六进制就是0x31,

是这样,我用AD采了值,假设是23,我知道协议栈里有个HalUARTWrite()函数,但是它好像只能传字符串,也就是串口调试助手上会显示字符串23,用十六进制显示是32 33,我上网查了说串口可以用字符串和16进制两种方式发送数据,我想把10进制的23用串口16进制发送的方式发,那串口调试助手上用16进制显示就是19了,具体应该怎么做呢?

23的16进制是17,不好意思。。就是能不能串口直接发送Int型数据而不是字符型?

你用下面的代码,就是发送十进制的23,对应的十六进制就是0x17

uint8 x=23;

HalUARTWrite(0, &x, 1)

那我要传比较大的数该怎么办,几百几千的,4096以内,char型不够用,但是HalUARTWrite好像只支持字符型

HalUARTWrite不是字符型,它的参数是uint8*,就是无符号字节数组。

比如4096,十六进制就是0x1000, 这就是要2个字节来传。

uint8 x[2]={0x10,0x00};

HalUARTWrite(0, &x, 2)

又比如:

uint16 x=4096;

HalUARTWrite(0, (uint8*)&x, 2) 

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top