现在在调CC1101 433M的RF通信,参照原子大哥的程序,加了监测RF是否存在的程序,
u8 NRF_Check(void){
u8 buf[5]={0XA5,0XA5,0XA5,0XA5,0XA5};
u8 i;
//SPI2_SetSpeed(SPI_BaudRatePrescaler_4); //spi速度为9Mhz(24L01的最大SPI时钟为10Mhz)
CC1101WriteMultiReg(0x10,buf,5);//写入5个字节的地址.
CC1101ReadMultiReg(0X10,buf,5); //读出写入的地址
for(i=0;i<5;i++)if(buf!=0XA5)break;
if(i!=5)return 1;//检测24L01错误
return 0; //检测到24L01
}
通过硬件仿真,我的BUF返回了{0XA5,0XA5,0XA5,0XA1,0XA5,}降低SPI的速度,增加读取寄存器的时间还是如此,还会是其他什么原因呢? |