thinkingpad 发表于 2011-7-15 14:10:15

用nRF24L01做了一个无线发射模块,有些问题。

用nRF24L01做了一个无线发射模块,数据能发出去,但是自己为了能和人家已经做好的模块兼容。但是现在测得天线发射端 发送数据的时间相同,但是电平刚好相反,有哪位能给出解答啊?难道输出端的天线的电平也可以用程序控制?

mgfhappy1 发表于 2011-7-16 17:05:41

那你发送的数据格式与那个模块相同么?

thinkingpad 发表于 2011-7-18 11:04:20

问题 得到解决 和大家分享一下。
      Clr_NRF24L01_CE;
      tx_addr();
               
      NRF24L01_Write_Buf(NRF24L01_WR_TX_PLOAD,packet,10);//写数据到TX BUF32个字节
               
         Set_NRF24L01_CE;//启动发送
      
         
   NRF24L01_Write_Reg(NRF24L01_WRITE_REG+STATUS,0x70);//disable all interrupt
   //NRF24L01_Write_Reg(NRF24L01_WRITE_REG+STATUS,0xff);//read status
   NRF24L01_Read_Reg(NRF24L01_READ_REG+STATUS);
   
SPIx_ReadWriteByte(NRF24L01_REUSE_TX_PL);//retr
   以上是错误的程序

以下是改好的程序
       Clr_NRF24L01_CE;
      tx_addr();
               
      NRF24L01_Write_Buf(NRF24L01_WR_TX_PLOAD,packet,10);//写数据到TX BUF32个字节
               
         Set_NRF24L01_CE;//启动发送
      
         
   NRF24L01_Write_Reg(NRF24L01_WRITE_REG+STATUS,0x70);//disable all interrupt
   //NRF24L01_Write_Reg(NRF24L01_WRITE_REG+STATUS,0xff);//read status
   NRF24L01_Read_Reg(NRF24L01_READ_REG+STATUS);
   
//SPIx_ReadWriteByte(NRF24L01_REUSE_TX_PL);//retr
   NRF24L01_Write_Reg(NRF24L01_REUSE_TX_PL,0xff);//retr
原因是重复发送数据的那个SPI指令写错。望以后能帮到别人。

thinkingpad 发表于 2011-7-25 14:17:02

回复【1楼】mgfhappy1
-----------------------------------------------------------------------
相同,就是现在时间上还有200us的差距
页: [1]
查看完整版本: 用nRF24L01做了一个无线发射模块,有些问题。