无端是非 发表于 2013-11-30 15:07

cc2500寄存器读取问题

    各位吧友,我最近才接触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被定义了但没有用。真的不知道是怎么回事,希望路过的吧友能指点一下
页: [1]
查看完整版本: cc2500寄存器读取问题