Other Parts Discussed in Thread: CC2530
我想请问一下我从CC2530的RSSI寄存器读出来的值为什么变化很小啊?不管距离变远或者变近,寄存器读出来的值跟距离基本没关系,但是从数据包pkt->rssi读出的值是随距离变化的,我从寄存器读RSSI的值程序时这样的:
int8 a;
a=RSSI;
然后通过串口输出的
麻烦谁知道帮解释解释啊?多谢了
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: CC2530
我想请问一下我从CC2530的RSSI寄存器读出来的值为什么变化很小啊?不管距离变远或者变近,寄存器读出来的值跟距离基本没关系,但是从数据包pkt->rssi读出的值是随距离变化的,我从寄存器读RSSI的值程序时这样的:
int8 a;
a=RSSI;
然后通过串口输出的
麻烦谁知道帮解释解释啊?多谢了
我直接在 TI原码per_test中的while(!basicRfPacketIsReady()); 后面添加下面的语句可以实现RSSI读取,但是RSSI寄存器读取的值要比数据包的大20dbm左右,可能是因为读取的时间不同的原因
while(!basicRfPacketIsReady());
flagreg=RSSISTAT;
if(flagreg==0x01)
{
temp_rssireg=RSSI;
if(temp_rssireg<128) temp_rssireg=temp_rssireg-halRfGetRssiOffset();
else temp_rssireg=(temp_rssireg-256)-halRfGetRssiOffset();
temp_rssireg=0-temp_rssireg;
}
是变化的,随着距离和遮挡的程度逐渐变化的,我是直接在per——test上进行的修改,你可以试试
pkt->rssi这条语句读取的rssi值是已经减去了offset的,你在rssi的定义函数里查看下,已经减去了73DB,不需要再减了
你好,请问你是在接收模块上的应用层读取的吗?我在接收端void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )这个函数中读取pkt->rssi,但是得到的值总是不对,请问是否和发射功率的设置有关,你的发射功率设置为多少?