我在做CC1100通讯的时候,状态位老是变化。具体变化是RX->IDLE->TX。还有读状态寄存器的话是不是要前面加|0XC0的?
附我的配置:
CC1100WriteReg(CC1100_MCSM2 , 0x0e);
CC1100WriteReg(CC1100_MCSM1 , 0x30);
CC1100WriteReg(CC1100_MCSM0 , 0x18);
循环程序为:
addr=CC1100ReadReg(CC1100_MARCSTATE);
RFReceiveLen = CC1100ReadReg(CC1100_RXFIFO);
CC1100ReadBurstReg(CC1100_RXFIFO, RFReceive_Buf, RFReceiveLen); //保证下标不越界
CC1100Strobe(CC1100_SFRX); //清除接收缓存
readbiao_time=0;
ADDR的值 变化为0X1F->0X5F->0X2F 。
还有就是改成
RF_Sts_ToRX();
RFReceiveLen = CC1100ReadReg(CC1100_RXFIFO);
CC1100ReadBurstReg(CC1100_RXFIFO, RFReceive_Buf, RFReceiveLen); //保证下标不越界
CC1100Strobe(CC1100_SFRX); //清除接收缓存
readbiao_time=0;
明显清楚不了缓存