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

下载本文档

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

文档简介

1、#inelude <> #inelude <> typedef unsigned char uchar;typedef unsigned char uint;SCK = 1;uchar |= MISO;then set SCK low againreturn(uchar);.SPI_RW(reg);reg_val = SPI_RW(0); then read registervalueCSN = 1;and write value to it.CSN = 1;SCK= 1;uchar |= MISO;then set SCK low againreturn(uchar)

2、;.SPI_RW(reg);reg_val = SPI_RW(0); then read registervalueCSN = 1;and write value to itCSN = 1;/ CSN high againreturn(status);/ return nRF24L01 status uchar/* 函数:uint SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars) /* 功能:用于读数据 5 reg :为寄存器地址, pBuf :为待读出数据地址,uchars :读出数据的个数w.mm* 丽 SPI_Read_Buf(ucha

3、r reg, uchar *pBuf, uchar uchars)uint status,uchar_ctr;status = SPI_RW(reg); / Select register to write to and read status uchar for(uchar_ctr=0;uchar_ctr<uchars;uchar_ctr+)pBufuchar_ctr = SPI_RW(0); /CSN = 1;return(status); / return nRF24L01 status uchar/*/* 函数:uint SPI_Write_Buf(uchar reg, ucha

4、r *pBuf, uchar uchars):写入数据的个数/*功能:用于写数据:为寄存器地址,pBuf :为待写入数据地址,uchars/*/uint SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars)uint status,uchar_ctr;CSN = 0;/SPI 使能status = SPI_RW(reg);for(uchar_ctr=0; uchar_ctr<uchars; uchar_ctr+) /SPI_RW(*pBuf+);CSN = 1 ; / 闭 SPIreturn(status); /*/* 函数:void Se

5、tRX_Mode(void)/*功能:数据接收配置/*/void SetRX_Mode(void)CE=O;SPI_RW_Reg(WRITE_REG + CONFIG, OxOf);/IRQ 收发完成中断响应,16 位 CRC接收CE = 1;inerDelay_us(130); / 延时不能太短y*y/* 函数:unsigned char nRF24L01_RxPacket(unsigned char* rx_buf)/*功能:数据读取后放如rx_buf接收缓冲区中/*/unsigned char nRF24L01_RxPacket(unsigned char* rx_buf)unsigne

6、d char revale=0;sta=SPI_Read(STATUS); /读取状态寄存其来判断数据接收状况if(RX_DR) /判断是否接收到数据CE = 0;/SPI 使能FIFOSPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);/ read receive payload frombufferSPI_RW_Reg(WRITE_REG+STATUS,sta); 接收©J数据后 RX_DR,TX_DS,MAX_P 都置高为 1 通过写 1 来清楚中断标志return revale;/*r 函数:void nRF24L01_TxPack

7、et(unsigned char * tx_buf)/*功能:发送tx_buf中数据/*/void nRF24L01_TxPacket(unsigned char * tx_buf)CE=0;/StandBy I 模式SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); / 装载接收端地址SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH);/ 装载数据/ SPI_RW_Reg(WRITE_REG + CONFIG, OxOe);/IRQ 收发完成中断响应,16 位 CRC 主发送CE=1 ;置高CE激发数据发送inerDelay_us(1O);主函数/*void main(void)uchar temp =0;init_NRF24LO1();/ Transmit Tx buffer datan RF24LO1_T xPacket (T xBuf);Delay(6OOO);PO=OxBF;while(1)nRF24L01

温馨提示

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

评论

0/150

提交评论