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

📄 main.c

📁 9E5无线单片机芯片的整个工程文件 已经在产品中使用
💻 C
字号:
//= main.c (nRF9E5 DEMO) ===================================================================

       
#include "reg9e5.h"
#include "util.h"
#include "uart.h"
#include "radio.h"
#include "lm35.h"
//#include "isd51.h"
void ReceiveFile(void);
void send_data(unsigned char num);
void TransmitFile(void);
unsigned char idata buf[25];
sbit ID_CHANGE_EN = P0^7;   //如果P0_7==0; 进入ID修改程序!
sbit          KEY = P0^4;
sbit         LEDR = P0^5;
sbit         LEDG = P0^6;
unsigned char aaa,SQC;
/*unsigned char bbb;            
unsigned char ccc;
unsigned char ddd,EEE;
unsigned char conter;                   //how many pack is have
unsigned int bh;
*/
extern unsigned char  hopIdx;
extern unsigned char Buf_1[],Counter,NewData;
void Init(void)
{
    unsigned char cklf;

    SPICLK = 0;                         // Max SPI clock
    SPI_CTRL = 0x02;                    // Connect internal SPI controller to Radio
    // Switch to 16MHz clock:
    RACSN = 0;
    SpiReadWrite(RRC | 0x09);
   	cklf = SpiReadWrite(0) | 0x04;
    RACSN = 1;
    RACSN = 0;
    SpiReadWrite(WRC | 0x09);
    SpiReadWrite(cklf); 
    RACSN = 1;
    P0_DIR = 0x9f;               
    InitTimer();
    EA = 1;
}

void main(void)
{   

	unsigned char i;
	Init();
 	InitADC();
	InitUart();
   	while(1)
    		{
				for(i=0;i<4;)//接收来自计算机的命令
				{
					while(1)
					{
						if(RI==1)
						{
							RI=0;
							Buf_1[i]=SBUF;
							if(Buf_1[0]==0x40)
							{i++;}
							break;
					     }
				    };
					
				}
				if(Buf_1[2]==0xaa)//受到命令,开始查询从机
				{
               		TransmitFile();	
				}
    		}
}

//---------------------------------RECVIER-----------------------------
//----------------------------------------------------------------------------------------------
 void TransmitFile(void)
{
   // unsigned int temp;
	unsigned char i;
   	unsigned char BUF_KUCUN[5]={0,0,0,0,0};
   
		for(i=1;i<4;i++)
		{	
			for (aaa=0;aaa<100;aaa++)
                 {
					Delay100us(50);
				 }
				 LEDR=1;
				 LEDG=1;
			for (aaa=0;aaa<100;aaa++)
                 {
					Delay100us(50);
				 }
				LEDR=0;
				LEDG=0;
			buf[0] = 0x40;
			buf[1] = 0x02;
			buf[2] = i;		//要查询的ID
			buf[3] = 0x0d;
	    	InitTransmitter(4, 0);
			TransmitPacket(buf);
			InitReceiver(4, 0);   
       		 if (ReceivePacket(buf) == 1)
                {                     
					if(buf[2]==i)
					{	
						BUF_KUCUN[0]++;
						BUF_KUCUN[i]=i;
					}
				}
			
    	}
        sPutChar(0X40);
		Delay100us(50);
		sPutChar(BUF_KUCUN[0]);//采集到的个数
		Delay100us(50);
		sPutChar(BUF_KUCUN[1]);//
		Delay100us(50);
		sPutChar(BUF_KUCUN[2]);//
		Delay100us(50);        //-----采集到的ID,现在只有三个ID,存储在1-3中
		sPutChar(BUF_KUCUN[3]);//其中数据若为零表示没有采集到该ID
		Delay100us(50);
		//sPutChar(BUF_KUCUN[4]);//
		//Delay100us(50);
		sPutChar(0x0d);

}


//-------------------------send all---------------------------------------

⌨️ 快捷键说明

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