您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制单片机对nRF2401收发数据的C语言实现 正文
单片机对nRF2401收发数据的C语言实现

单片机对nRF2401收发数据的C语言实现

点击数:7543 次   录入时间:03-04 11:37:01   整理:http://www.55dianzi.com   电脑-单片机-自动控制

  单片机对nRF2401的编程包括对nRF2401进行配置、发送数据、接收数据等子程序。首先定义如下:

  如果在发射模式状态则发射数据;如果在接收模式状态则等待中断触发并接收数据;如果想节电则选择空闲模式和关机模式。
  
  (2)软件实现SPI接口51系列单片机没有硬件SPI接口,因此必须用软件模拟SPI接口读、写外部数据。写1字节的程序如下:

  }
  
  单片机模拟SPI接口读l字节的

  nRF2401可以根据需要配置工作状态。配置字最多18字节,常用配置字如表2所示。配置后频道l有效数据的最大长度为256-ADDR_W-CRC,频率为2400+RF_CH#xlMHz。
  
  配置为ShockBurstTM收发模式的例子如下:字节从高到低分别为

  将配置字存在setdata[18]数组中,从最高位开始依次通过SPI接口送给配置寄存器.具体程序如下:
  
  MODE_CFO;//进入设置模式Delay0;//延时202μsfor(i=O;i<18;i++)//配置字从最高位开始送人nRF2401writebyte(setdata[i]);CS=O;//新的配置字开始工作(4)接收数据的C程序采用中断方式从nRF2401接收数据,编程使能单片机中断O(IE=Ox81)。当nRF2401收到一个有效的数据包时(正确的地址和CRC),自动移去前缀、地址和CRC位,然后把DR1置高以产生中断信号。具体接收代码如下:

  式。
  
  nRF2401直接收发模式实现
  
  在直接收发模式下,数据传输速率是lMbps或250kbps,配置时需要2字节的配置字。通过nRF2401发送数据时,单片机将CLK1置0.在CE置高2008后,单片机根据设置的速率发出数据包(包括前缀码、地址、有效数据、CRC)。接收数据时,如果nRF2401接收到有效的字头,则会以同样的速率发出时钟和数据信号,把射频数据包以其被发射时的数据从DA-TA引脚发送给单片机。




本文关键字:单片机  C语言  电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制