我现在在搞CC1101通信,用的是STM32+CC1101接受,用MSP430+CC1101发送,不用中断接受时,可以正常接受发送,用GDO2中断接受就收不到,不知道什么原因??现在用示波器测了一下GDO2引脚,发现发送端关闭时,接受端GDO2有脉冲,而发送端开启时,脉冲消失!按道理GDO2是一个输入脉冲,只有发送断开启时,接收端GDO2才会有脉冲?我的IOCFG2=0x06。
中断代码:
void EXTI9_5_IRQHandler(void)
{
if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_GD2))
{
length=halSpiReadReg(0x3F); //读出第一个字节为长度字节
halSpiReadBurstReg(0x3F, rxBuffer, length+2);//读出数据 此数据包括地址和指令
halSpiStrobe(0x36); //进入空闲模式状态
halSpiStrobe(0x3A); //清空接收缓冲寄存器
halSpiStrobe(0x34); //进入接收状态
LED1=!LED1;
}
EXTI_ClearITPendingBit(EXTI_Line8); //清除LINE3上的中断标志位
求大神帮忙!!!! |