微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 关于zigbee 使用zstack 发送数据的问题

关于zigbee 使用zstack 发送数据的问题

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

我们的需求是,根据rssi值的大小来进行定位

现在节点一广播

节点二接收到广播的数据包,提取里面的rssi值,根据定义得知rssi是(int)整型,可是 haluartwrite 函数只能发送unsigned char* 型的数据,

于是我进行强制转换,将转换后的数据作为数据发送给协调器,协调器得到数据之后,将unsigned char*型的数据转换为int型,int型数据根据asc码转换,通过串口打印出来。

思路是这样的,可是两个过程的rssi值都是乱码的状态,还请知道的大神指点一下,这个问题应该怎么解决才可以得到rssi值?

(1) rssi的int是int8, 就一个字节

(2)你是从哪个函数获得RSSI的?

int z= pkt->rssi;

我是这样拿出来的。此时的rssi值是负值

然后取负,变为正数。

int z= pkt->rssi;
     int a=-z;
     unsigned char* j;
     j=(unsigned char*)a;

这是我强制转换unsigned char*,使用点播将rssi值发给协调器,现在的rssi值还是正确的。

int x;
      unsigned char* y;
      y=pkt->cmd.Data;
      x=(int)y;
      HalUARTWrite(0,&asc_16[x/10],1);
      HalUARTWrite(0,&asc_16[x%10],1);

但是现在打印出来的时候数据就乱码了,请问这个是怎么回事?

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

网站地图

Top