博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[51单片机] SPI nRF24L01无线 [可以放在2个单片机里实现通信]
阅读量:5973 次
发布时间:2019-06-19

本文共 1831 字,大约阅读时间需要 6 分钟。

 

main.c

1 #include
2 #include"2401.h" 3 4 #define uint unsigned int 5 #define uchar unsigned char 6 7 sbit KEY8=P3^7; //发送按键 8 sbit beep=P2^3;//喇叭 9 sbit LED6=P1^6; ////接收到数据后的功能实现灯 10 11 void delay_ms(uint z) //延时函数 12 {13 uint x,y;14 for(x=z;x>0;x--)15 for(y=110;y>0;y--);16 }17 void delayms(unsigned int x)18 {19 unsigned int i;20 while(x--)21 for(i=125;i>0;i--);22 }23 void main()24 {25 uchar Tx_Buf1[]={
1};//发送的信息1 26 uchar Rx_Buf[32]; //接收到的数据暂存器,最多32字节数据 27 init_NRF24L01();28 LED6=1;//初始灯6熄灭 29 30 31 while(NRF24L01_Check()) //检查不到24l01则报警 32 {33 beep=0;34 delayms(200);35 beep=1;36 delayms(200);37 }38 while(1)39 { 40 RX_Mode();//接收模式 41 while(!nRF24L01_RxPacket(Rx_Buf)) //等待接收数据 ,返回1则接收到数据 ,在等待接收数据期间,可以随时变成发送模式 42 {43 if(KEY8==0) //按了按键8 则变成发送模式,发送对应数据,发送完后变成接收模式 44 { 45 delay_ms(5);//消抖动 46 if(KEY8==0)47 {48 while(!KEY8);49 TX_Mode(); //发送模式 50 nRF24L01_TxPacket(Tx_Buf1); // 发送命令数据51 LED6=0;52 delay_ms(300);53 LED6=1;54 delay_ms(300); //发送后LED6闪一下 55 break; //退出最近的循环,从而变回接收模式,这句关键56 }57 58 }59 }60 if(Rx_Buf[0]==1) //若接收到对应的数据则实现对应功能 61 {62 Rx_Buf[0]=0;//清空数据 63 LED6=0;64 delay_ms(300);65 LED6=1;66 delay_ms(300);//接收到数据 后闪烁 67 } 68 }69 }
http://www.cnblogs.com/zjutlitao/p/3753984.html
你可能感兴趣的文章
批量有效地修改package名
查看>>
android或ios app请求参数格式
查看>>
Camera Vision - video surveillance on C#
查看>>
如何理解网络连接中的"3次握手"?
查看>>
使用Dubbo服务出现java.io.IOException: invalid constant type: 18异常解决办法
查看>>
一条命令完成砸壳
查看>>
PYKit目录
查看>>
JSON使用总结
查看>>
php-redis中文帮助手册_系统相关_config_eval_evalSha_script...
查看>>
Tomcat Context配置
查看>>
MyEclipse中properties文件中文插件
查看>>
CentOS6.5安装ntopng
查看>>
mysql事务rollback&commit
查看>>
Node.js搭建Web服务器
查看>>
Shell脚本学习
查看>>
JAX-RS入门 五: 自动类型转换
查看>>
连连看 欢迎玩耍 :)
查看>>
JAVA经典算法40题(13)
查看>>
Java程序员,你的简历到底问题在哪?
查看>>
MaxCompute读取分析OSS非结构化数据的实践经验总结
查看>>