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)