求nrf24l01通信程序,msp430 的,自己写的在测试的时候一直发送失败

2019-03-24 10:23发布

不晓得怎么回事,一直发送失败,有没有nrf24l01的例子给我参考一下,或者大神帮我看看问题在哪

  1. u8 NRF_WriteReg(u8 reg,u8 val)
  2. {
  3.   u8 temp;
  4.   NRF24L01_CSN_0;
  5.   temp=SPI3_SendReceiveByte(reg);
  6.   SPI3_SendReceiveByte(val);
  7.   NRF24L01_CSN_1;
  8.   return temp;
  9. }




  10. u8 NRF_ReadReg(u8 reg)
  11. {
  12.   u8 val;
  13.   NRF24L01_CSN_0;
  14.   SPI3_SendReceiveByte(reg);
  15.   val=SPI3_SendReceiveByte(0xff);
  16.   NRF24L01_CSN_1;
  17.   return val;
  18. }


  19. u8 NRF_ReadBuf(u8 reg,u8 *buff,u8 num)
  20. {
  21.   u8 i,val;
  22.   NRF24L01_CSN_0;
  23.   val=SPI3_SendReceiveByte(reg);
  24.   for(i=0;i<num;i++)
  25.     *buff++=SPI3_SendReceiveByte(0xff);
  26.   NRF24L01_CSN_1;
  27.   return val;
  28. }


  29. u8 NRF_WriteBuf(u8 reg,u8 *buff,u8 num)
  30. {
  31.   u8 val,i;
  32.   NRF24L01_CSN_0;
  33.   val=SPI3_SendReceiveByte(reg);
  34.   for(i=0;i<num;i++)
  35.     SPI3_SendReceiveByte(*buff++);
  36.   NRF24L01_CSN_1;
  37.   return val;
  38. }

  39. u8 NRF_SendPacket(u8 *TxBuf)
  40. {
  41.   u8 val;
  42.   NRF24L01_CE_0;
  43.   NRF_WriteBuf(WR_TX_PLOAD,TxBuf,TX_PLOAD_WIDTH);
  44.   NRF24L01_CE_1;
  45.   delay_ms(5);
  46.   while(NRF24L01_IRQ!=0);
  47.   val=NRF_ReadReg(STATUS);
  48.   NRF_WriteReg(WRITE_REG,val);
  49.   if(val&MAX_TX)
  50.   {
  51.     NRF_WriteReg(FLUSH_TX,0xff);
  52.     return MAX_TX;
  53.   }
  54.   if(val&TX_OK)
  55.     return TX_OK;
  56.   return 0xff;  
  57. }
复制代码

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
jianping-sun
2019-03-24 21:30
< :TI_MSP430_内容页_SA7 --> 哪位大神给一个nrf24l01的例子啊,要msp430的

一周热门 更多>

相关问题

    相关文章