各位吧友,我最近才接触cc2500,遇到好多问题都解决不了。首先,配置好cc2500的寄存器后,我想要读某个寄存器的值,可是发现函数值返回不了,调到函数里面去看,发现想要返回的那个值(value)一直跳来跳去而且不是我配置的值。
INT8U halSpiReadReg(INT8U addr)
{
INT8U temp, value;
temp = addr|READ_SINGLE;//读寄存器命令
CSN_0;
while (P1IN & 0x02);
SpiTxRxByte(temp);
value = SpiTxRxByte(0);
CSN_1;
return value;
}
然后,想读TXBYTES里面的数据个数也遇到这样的问题,读代码如下
INT8U halSpiReadStatus(INT8U addr)
{
INT8U value,temp;
temp = addr | READ_BURST; //写入要读的状态寄存器的地址同时写入读命令
CSN_0;
while (P1IN & 0x02);
SpiTxRxByte(temp);
value = SpiTxRxByte(0);
CSN_1;
return value;
}
最后,我定义两个变量就j,k。 令 k=halSpiReadStatus(CCxxx0_TXBYTES);
j=halSpiReadReg(CCxxx0_ADDR); iar编译器一直警告就j,k被定义了但没有用。真的不知道是怎么回事,希望路过的吧友能指点一下 |