📄 main.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 + -