我最近在调个NRF24L01其实早已经调试好了,之前都是一个发送一个接,我现在想改成,我发送端发送成功后,接收端能返回信息回来。我调试时发现在把发送函数放到“if”里面发送不成功.把"if"去了发送就成功.现在不知道是什么问题! 就是 int main(void) { CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//内部时钟16M SPI_init(); NRF24L01_Init(); NRF24L01_TX_Mode();//接收模式 __enable_interrupt(); //打开中断 while (1) { Delay_ms(200); NRF24L01_TX(data); } } 我这样子发送成功!! 改成下面那样就一直发送失败。 u8 tepm=0; int main(void) { CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//内部时钟16M SPI_init(); NRF24L01_Init(); NRF24L01_TX_Mode();//接收模式 __enable_interrupt(); //打开中断 while (1) { Delay_ms(200); if ( temp == 0 ) //加了这个 NRF24L01_TX(data); } } 这样就发送不成功。 |
u8 txrx=0;
int main(void)
{
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//内部时钟16M
SPI_init();
NRF24L01_Init();
NRF24L01_TX_Mode();//接收模式
__enable_interrupt(); //打开中断
while (1)
{
if ( txrx == 0 )
Delay_ms(200);
NRF24L01_TX(data);
}
}