想请教一下各位,NRF是在发送成功、接收成功或是自动重发到上限后 不通过程序,自动将引脚拉低产生IRQ中断的吗?如果想要屏蔽中断,使得发送端不停发送新的数据,接收端每隔一段时间将rxbuf数据提取出来并将寄存器清零 的话应该怎么修改程序?
程序如下:
u8 NRF_Rx_Dat(u8 *rxbuf)
{
u8 state;
NRF_CE_HIGH();
while(NRF_Read_IRQ()!=0);
NRF_CE_LOW();
state=SPI_NRF_ReadReg(STATUS);
SPI_NRF_WriteReg(NRF_WRITE_REG+STATUS,state);
if(state&RX_DR)
{
SPI_NRF_ReadBuf(RD_RX_PLOAD,rxbuf,RX_PLOAD_WIDTH);
SPI_NRF_WriteReg(FLUSH_RX,NOP);
return RX_DR;
}
else
return ERROR;
}
谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>