/******************** (C) COPYRIGHT 2011 野火嵌入式开发工作室 ******************** * 文件名 :NRF24L0.h * 描述 :NRF24L0函数库 * * 实验平台 :野火kinetis开发板 * 库版本 : * 嵌入系统 : * * 作者 :野火嵌入式开发工作室 * 淘宝店 :http://firestm32.taobao.com * 技术支持论坛 :http://www.ourdev.cn/bbs/bbs_list.jsp?bbs_id=1008 **********************************************************************************/ #ifndef _NRF24L0_H_ #define _NRF24L0_H_ 1 //以下是硬件配置 #define NRF_SPI SPI0 #define NRF_CS SPIn_PCS0 #define NRF_CE_PTXn PTE28 #define NRF_IRQ_PTXn PTE27 //以下是用户配置的选项 #define DATA_PACKET 32 //一次传输最大可支持的字节数(1~32) #define RX_FIFO_PACKET_NUM 80 //接收 FIFO 的 包 数目 ( 总空间 必须要大于 一副图像的大小,否则 没法接收完 ) #define ADR_WIDTH 5 //定义地址长度(3~5) #define IS_CRC16 1 //1表示使用 CRC16,0表示 使用CRC8 (0~1) //配置到这里结束 typedef enum { NRF_TXING, //发送中 NRF_TX_ERROR, //发送错误 NRF_TX_OK, //发送完成 } nrf_tx_state_e; //函数声明 extern uint8 nrf_init(void); //初始化NRF24L01+ extern uint8 nrf_link_check(void); //检测NRF24L01+与单片机是否通信正常 extern uint32 nrf_rx(uint8 *rxbuf, uint32 len); //接收 extern uint8 nrf_tx(uint8 *txbuf, uint32 len); //发送 extern nrf_tx_state_e nrf_tx_state (); //发送状态(发送数据后查询是否发送成功) extern void nrf_handler(void); //NRF24L01+ 的 中断服务函数 //下面的函数 留给 无线消息处理机制 的函数使用,一般用户用不着 extern uint8 nrf_rx_fifo_check(uint32 offset,uint16 * val); //获取 接收FIFO 的数据 #endif //_NRF24L0_H_