欢迎来到天天文库
浏览记录
ID:20587365
大小:81.71 KB
页数:5页
时间:2018-10-13
《nrf24l01无线模块收发程序例程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、//下而是接收的NRF24L01的程序。llllllllllllllllllllllllllllllfllllllllllllfllllllllllllllllllllllllllllllllllllflllllllllllllllllfllllllllllllllllll^#includeincludeMnrf24101.hH#include〈intrins.h〉#defineucharunsignedchar#defineuintunsignedintsbitIRQ=P1八2;//输入s
2、bitMISO=P1A3;//输入sbitMOSI=P1A1;//输出sbitSCLK=P1八4;//输出sbitCE=P1八5;//输出sbitCSN=P1AO;//输出ucharRevTempDate[5];//最后一位用来存放结束标志ucharcodeTxAddr[]={0x34,0x43,Ox10,0x10,0x01};//发送地址M-,•I*/糾糾糾不砍恋称志+科科科科科ucharbdatasta;//状态标志sbitRX_DR=staA6;sbitTX_DS=sta八5;sbitMAX_RT=st
3、aA4;/氺氺氺氺窣氺氺氺氺氺尜氺氺氺氺氺氺SPI尜氺尜氺氺氺窣氺氺氺氺氺窣氺氺氺窣氺承氺窣氺窣氺承氺窣氺窣氺承氺窣氺承氺承氺氺氺氺氺/ucharNRFSPI(uchardate){uchari;for(i=0;i<8;i++)//循环8次{if(date&0x80)MOSI=1;elseMOSI=0;//byte最高位输出到MOSIdate«=1;//低一位移位到最高位SCLK=1;if(MISO)//拉《SCK,nRF24L01从MOSI读入1位数据,同时从MISO输出1位数据date
4、=0x01;//读
5、MISO到byte最低位SCLK=0;//SCK置低return(date);//返冋读出的一字节/氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺:{yvoidNRF24L01Int()NRFDelay(2);//让系统什么都不干CE=O;CSN=1;SCLK=O;1RQ=I;jj-#氺水氺水氺氺氺氺氺氺氺氺氺氺氺氺糸氺承氺糸氺糸氺承氺糸氺糸氺糸氺糸/}/氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺SPIucharNRFReadReg(ucharRegAddr)
6、{ucharBackDate;CSN=O;//启动时序NRFSPI(RegAddr);//写寄存器地址BackDate=NRFSPI(OxOO);//写入读寄存器指令CSN=1;return(BackDate);//返回状态}/氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺SPI#氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺糸氺氺氺氺氺糸氺氺氺糸氺氺氺氺氺糸/ucharNRFWriteReg(ucharRegAddr,uchtirdate){ucharBackDate;CSN=O;//启动时序BackDate=NRFSn(RegAd
7、dr);//写入地址NRFSPI(date);//写入值CSN=1;return(BackDate);}/氺氺氺氺氺*氺氺氺氺氺氺氺氺氺氺氺SPIRXFIFO[氺氺氺*氺氺氺氺氺*氺氺氺*氺*氺*氺*氺*氺*氺*氺氺氺氺氺*/ucharNRFReadRxDate(ucharRegAddr,uchar*RxDate,ucharDateLen){//寄存器地址//读取数据存放变量//读取数据长度//川于接收ucharBackDate,i;CSN=0;//启动时序BackDate=NRFSPI(RegAddr);/
8、/写入要读取的寄存器地址for(i=0;i9、teJ;CSN=0;BackDate=NRFSPI(RegAddr);//写入要写入寄存器的地址for(i=0;i
9、teJ;CSN=0;BackDate=NRFSPI(RegAddr);//写入要写入寄存器的地址for(i=0;i
此文档下载收益归作者所有