NRF24L01的发送与接收程序_第1页
NRF24L01的发送与接收程序_第2页
NRF24L01的发送与接收程序_第3页
NRF24L01的发送与接收程序_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、NRF24L01的发送与接 收程序 -CAL-FENGHAI-(2020YEAR-YICAI)JINGBIAN include ftinclude typedef unsigned char uchar; typedef unsigned char uint; SCK = 1; uchar |= MISO;then set SCK low again return(uchar); SPI_RW(reg); reg val = SPI_RW(O); then read registervalue CSN = 1;and write value to it. uchar |= MISO;then

2、set SCK low again return(uchar); SPI_RW(reg); reg val = SPI_RW(0); then read registervalue CSN = 1; CSN = 2; and write value to it. / CSN high again return(status); / return nRF24L01 status uchar 厂函数:uint SPI_Read_Buf(uchar reg, uchar *pBufz uchar ucha 厂功能:用于读数据,g:为寄存器地址,pBuf:为待读出数据地址,uchars:读出数据的个数

3、 uint SPI_Read_Buf(uchar reg, uchar *pBuf, uchar ucha uint status,ucharctr; / Set CSN low, init SPI tranaction status = SPI_RW(reg); / Select register to write to and read status uchar for(uchar_ctr=0;uchar_ctruchars;uchar_ctr-H-| pBufuchar_ctr = SPI_RW(0); / return(status);/ return nRF24L01 status

4、uchar / 拿*拿*拿*車*拿* 厂函数:uint SPI_Write_Buf(uchar reg, uchar *pBut uchar uchars) 厂功能:用于写数据:为寄存器地址,pBuf:为待写入数据地址,uchars:写入数据的个数 uint SPI_Write_Buf(uchar reg, uchar *pBuf# uchar uchars) uint status,ucharctr; CSN = 0; /SPI 使能 status = SPI_RW(reg); for(uchar_ctr=0; uchar_ctruchars; uchar_ctr+) / SPI_RW(tp

5、Buf+); CSN = 1; 关闭 SPI return(status); / 厂函数:void SetRXJVIode(void) 厂功能:数据接收配置 void SetRXJVIode(void) CE=O; SPI_RW_RQg(WRITE_REG + CONFIG, OxOf); ,主接收 /IRQ收发完成中断响应,16位CRC CE = 1; inerDelayus(130); 延时不能太短 厂函数:unsigned char nRF24L01_RxPacket(unsigned cha广 rx buf) 厂功能:数据读取后放如rx.buf接收缓冲区中 unsigned char

6、nRF24L01_RxPacket(unsigned char* rx buf) unsigned char revale=0; sta=SPLRead(STATUS);/读取状态寄存其来判断数据接收状况 if(RX_DR)/判断是否接收到数据 CE = O;/SPI 使能 SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH); read receive payload from RXJIFO buffer revale =1;读取数据完成标志 SPI_RW_Reg(WRITE_REG+STATUS,sta); 接收到数据后 RX_DR,TX_DS,M

7、AX_PT 都置高为 1,通过 写1来清楚中断标志 return revale; / 拿*拿*拿*拿*拿* 厂函数:void nRF24L01_TxPacket(unsigned char tx buf) 厂功能:发送tx_buf中数据 void nRF24L01_TxPacket(unsigned char tx buf) CE=O;/StandBy I 模式 SPI_Write_Buf(WRITE_REG + RX_ADDR_PO, TX_ADDRESS, TX_ADR_WIDTH); / 装載接收端地址 SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH);装载数据 /IRQ收发完成中断响应,16位CRC, / SPI_RW_Reg(WRITE_REG + CONFIG, OxOe); 主发送 CE=1;賈高CE,激发数据发送 inerDelayus(lO); void main(void) uchar temp =0; init_NRF24L01(); nRF24L01_TxPacket(TxBuf); / Transmit Tx buffer data Delay(6000); PO=OxBF; while(l) nRF24L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论