51单片机 nRF24L01 无线模块 测试 按键灯远程控制
时间:11-19
来源:互联网
点击:
入正题,这个实验的功能就是一个发送模块(大的那个板)连接4个按键,通过按动这4个不同的按键来发送4种不同的命令,来控制接收端(小的板)点亮4个不同的灯。
>_
1 void main()2 {3 uchar Tx_Buf1[]={1}; //发送的信息1 4 uchar Rx_Buf[32]; //接收到的数据暂存器,最多32字节数据 5 init_NRF24L01();6 LED6=1; //初始灯6熄灭 7 8 while(NRF24L01_Check()) //检查不到24l01则报警 9 {10 beep=0;11 delay_ms(200);12 beep=1;13 delay_ms(200);14 }15 while(1)16 { 17 RX_Mode(); //接收模式 18 while(!nRF24L01_RxPacket(Rx_Buf)) //等待接收数据,返回1则接收到数据,在等待接收数据期间,可以随时变成发送模式 19 {20 if(KEY1==0) //按了按键1,则变成发送模式,发送对应数据,发送完后变成接收模式 21 { 22 delay_ms(5);//消抖动 23 if(KEY1==0)24 {25 while(!KEY1);26 TX_Mode(); //发送模式 27 Tx_Buf1[0]=1; //将1发送过去28 nRF24L01_TxPacket(Tx_Buf1); //发送命令数据29 LED6=0;30 delay_ms(300);31 LED6=1;32 delay_ms(300); //发送后LED1闪一下 33 break; //退出最近的循环,从而变回接收模式,这句关键34 } 35 }36 else if(KEY2==0) 37 { 38 delay_ms(5);//消抖动 39 if(KEY2==0)40 {41 while(!KEY2);42 TX_Mode(); //发送模式 43 Tx_Buf1[0]=2; //将2发送过去44 nRF24L01_TxPacket(Tx_Buf1); //发送命令数据45 LED6=0;46 delay_ms(300);47 LED6=1;48 delay_ms(300); 49 break; //退出最近的循环,从而变回接收模式,这句关键50 } 51 }52 else if(KEY3==0) 53 { 54 delay_ms(5);//消抖动 55 if(KEY3==0)56 {57 while(!KEY3);58 TX_Mode(); //发送模式 59 Tx_Buf1[0]=3; //将
51单片机nRF24L01无线模块远程控 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)