|
POWER_UP_RESET_CC1100();
halRfWriteRfSettings(); //配置CC1100的寄存器
halSpiWriteBurstReg(CC1100_PATABLE, PaTabel, 8);//发射功率设置
ab = 1;
while (1)
{
if(halSpiReadStatus(CC1100_MARCSTATE) != 0x0D) halSpiStrobe(CC1100_SRX); //进入接收状态
if((halSpiReadStatus(CC1100_RXBYTES) & BYTES_IN_RXFIFO)) //如果接的字节数不为0
{
packetLength = halSpiReadReg(CC1100_RXFIFO);//读出第一个字节,此字节为该帧数据长度
halSpiReadBurstReg(CC1100_RXFIFO, rxBuffer_0, packetLength); //读出所有接收到的数据
halSpiStrobe(CC1100_SFRX); //清洗接收缓冲区
}
if(s_led)
{
s_led = 0;
if(packetLength)
{
LED1 = 1;
packetLength = 0;
}
else
{
LED1 = 0;
}
}
if(ab)
{
ab = 0;
for(i=0; i<40; i++)
rx_x = i*6;
}
PORTD = rx_x[i++];
if(i==40) i=0;
};
}
这里的 rx_x 在不接受数据下是正常的,一接受数据就乱了。 |
|