while(NRF24L01_RxPacket(rx_buf)) {
i=KEY_Scan();
if(i==1) //按了KEY0 则变成发送模式,发送对应数据,发送
完后变成接收模式
{
TX_Mode(); LED0=0; delay_ms(100); LED0=1; delay_ms(100);
// 发送命令数据
//发送模式
NRF24L01_TxPacket(tx_buf); }
break; //退出最近的循环,从而变回接收模式
while(!LED2) {
// LED3=0; // delay_ms(100); // LED3=1; // delay_ms(100);
t=Matrix_Keyboard_Scan();//得到键值
Show_Num(t); switch(t) {
case 1: tx_buf[0]=0X01;;break; case 2: tx_buf[0]=0X02;;break; case 3: tx_buf[0]=0X03;;break; case 4: tx_buf[0]=0X04;;break; case 5: tx_buf[0]=0X05;;break; case 6: tx_buf[0]=0X06;;break;
25
}
case 7: tx_buf[0]=0X07;;break; case 8: tx_buf[0]=0X08;;break; case 9: tx_buf[0]=0X09;;break; case 10: tx_buf[0]=0X0a;;break; case 11: tx_buf[0]=0X0b;;break; case 12: tx_buf[0]=0X0c;;break; case 13: tx_buf[0]=0X0d;;break; case 14: tx_buf[0]=0X0e;;break; case 15: tx_buf[0]=0X0f;;break; case 16: tx_buf[0]=0X10;;break;
}break; }
switch(rx_buf[0])
{
case 0X01: Show_Num(1);break; case 0X02: Show_Num(2);break; case 0X03: Show_Num(3);break; case 0X04: Show_Num(4);break; case 0X05: Show_Num(5);break; case 0X06: Show_Num(6);break; case 0X07: Show_Num(7);break; case 0X08: Show_Num(8);break; case 0X09: Show_Num(9);break; case 0X0a: Show_Num(10);break; case 0X0b: Show_Num(11);break; case 0X0c: Show_Num(12);break; case 0X0d: Show_Num(13);break; case 0X0e: Show_Num(14);break; case 0X0f: Show_Num(15);break;
26
case 0X10: Show_Num(16);rx_buf[0]=0;break; }
参考文献:
[1]赵海,赵杰,刘铮,等.一种无线传感器网络节点的设计与实现[J].东北大学学报:自然科学版,2009,30(6):809-812
[2]王秀梅.低功耗2.4GHz无线通信分系统的设计与实现[J].中国数据通信,2004(11):57—61
[3]李文忠,段朝玉 .短距离无线数据通信[M].北京:北京航空航天大学出版社,2006.
27