二、Crazepony1无人机源码分析-(4)接受遥控器的数据
1.程序源码
//查询中断
void Nrf_Irq(void)
{
uint8_t sta = NRF_Read_Reg(NRF_READ_REG + NRFRegSTATUS);
if(sta & (1<<RX_DR))//接收轮训标志位
{
NRF_Read_Buf(RD_RX_PLOAD,NRF24L01_RXDATA,RX_PLOAD_WIDTH);// read receive payload from RX_FIFO buffer
ReceiveDataFormNRF(); //数据处理
NRF_Write_Reg(NRF_READ_REG + NRFRegSTATUS, sta);//清除nrf的中断标志位
sta = 0;
}
}
2.流程图
通过IIC通讯时刻查询NRF24L01的状态寄存器,当接受中断为1时,表示NRF24L01已接收到遥控器的数据,进行数据处理。