新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > ARM和WinCE6.0下nRF24L01的驱动设计

ARM和WinCE6.0下nRF24L01的驱动设计

作者:时间:2012-05-23来源:网络收藏

d.JPG

本文引用地址:http://www.eepw.com.cn/article/171420.htm

为了方便映射虚拟地址,在本中将所用到的特殊功能寄存器的虚拟地址由自定义类CS3c2440SFR来进行组织。其中“sfr”是类CS3c2440SFR的实例,D()是一个自定义宏,其源码为“#define D(v_add)(*(volatile unsigned long*)v_add)”。

(2)NRF_Open()函数

NRF Open()函数主要实现了对初始化是否成功的判断及对进行初始配制。核心代码如下:

SPI_Write_Bur(WRITE REG+TX_ADDR,TX_ADDRESS,TX_ADR_WIDTH); //写本地默认地址

SPI_Write_Buf(WRITE_REG+RX_ADDR_P0,RX_ADDRESS,RX_ADR_WIDTH); //写接收端默认地址

SPI_RW_Reg(WRITE_REG+EN_AA,0x01);

SPI_RW_Reg(WRITE_REG+EN_RXADDR,0x01);

SPI_RW_Reg(WRITE_REG+RF_CH,0);//设置信道工作为2.4 GHz,收发必须一致

SPI_RW_Reg(WRITE_REG+RX_PW_P0,RX_PLOADWIDTH); //设置接收数据长度

SPI_RW_Reg(WRITE_REG+RF_SETUP,0x07);//设置发射速率为1 MHz,发射功率为最大值0 dB

(3)NRF_Read()函数

NRE_Read()函数实现了对接收缓冲区的读取并传送至应用程序。由于一次最多能接收32个字节的信息,所以该函数一次最多能传送32字节的信息。主要核心代码如下:

f.JPG

(4)NRF_Write()函数

NRE_Write()函数主要实现发送数据写入发送缓冲区并发送的功能。主要核心代码如下:

g.JPG

g1.jpg



评论


相关推荐

技术专区

关闭