⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 RF24L01例程(FLY2000-51)
💻 C
字号:
#include <reg52.h>
#include <intrins.h>
#include <24L01.h>
#include <io_def.h>

void UART_init()
{
	SCON = 0x50;                 /* uart in mode 1 (8 bit), REN=1 */
	TMOD = TMOD | 0x20 ;         /* Timer 1 in mode 2 */
	TH1  = 0xFD;                 /* 9600 Bds at 11.059MHz */
	TL1  = 0xFD;                 /* 9600 Bds at 11.059MHz */
	//IE =0x90;
	TR1 = 1;                     /* Timer 1 run */
}

void Sendchar(unsigned char c)
{
	SBUF=c;                                     
	while(TI==0);                                               
	TI=0;
}

//void print_string(unsigned char* p)
//{
//while(*p !='\0')
//{
//  Sendchar(*p++);
//}
//}

//************************************主函数************************************************************
void main(void)
{
	unsigned char tf =0;
	unsigned char TxBuf[20]={0};	 // 
	unsigned char RxBuf[20]={0};	
    unsigned char ten;
	LED1=0;
	LED2=0;
	BELL=0;
    init_NRF24L01() ;
	P0=0x00;
	TxBuf[1] = 1 ;
	TxBuf[2] = 1 ;
	nRF24L01_TxPacket(TxBuf);	// Transmit Tx buffer data


	UART_init();  

	Delay(6000);
	LED1=1;
	LED2=1;
	BELL=1;
	while(1)
	{


		TxBuf[1] = 0x00;
		TxBuf[2] = 0x00;
    	if(KEY1 ==0 ) 
	  	{
            Delay(200);
			if(KEY1==0)
			{
			BELL=0;
			LED1=0;
		    TxBuf[1] = 1 ;
		    tf = 1 ; 
			}
	    }
	   if(KEY2 ==0 )
	   {
	        Delay(200);
		    if(KEY2==0)
			{
			BELL=0;
		    LED2=0;
			TxBuf[2] =1 ;
			tf = 1 ; 
			}
	   }
	   if (tf==1)
       {	
			nRF24L01_TxPacket(TxBuf);	// Transmit Tx buffer data
			TxBuf[1] = 0x00;
			TxBuf[2] = 0x00;
			tf=0;
			Delay(1000);		 //old is '1000'
	   }
//***********************************************************************************************
		SetRX_Mode();
		RxBuf[1] = 0x00;
		RxBuf[2] = 0x00;
	    Delay(1000);
		nRF24L01_RxPacket(RxBuf);
   		if(RxBuf[1]|RxBuf[2])
		{					
			if(	RxBuf[1]==1)
			{	
			    BELL=0; 	
		        LED1=0;
			}
			if(	RxBuf[2]==1)
			{
				BELL=0;
				LED2=0;
			}
			Delay(2000);		 //old is '1000'

			Sendchar(RxBuf[3]);
			Sendchar(RxBuf[4]);
			Sendchar(RxBuf[5]);
			Sendchar(RxBuf[6]);
			Delay(2000);	
		}
		
		RxBuf[1] = 0x00;
		RxBuf[2] = 0x00;
		LED1=1;
		LED2=1;
		BELL =1;

	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -