📄 main.c
字号:
/****************************************Copyright (c)**************************************************
** Guangzou ZLG-MCU Development Co.,LTD.
** graduate school
** http://www.zlgmcu.com
**
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#include "config.h"
#include "WIRELESS.h"
//#include "EINT0.h"
uint8 TxRxBuf[32];
int main(void)
{
uint32 i,j;
uint32 led0_count=0;
uint32 led1_count=0;
PINSEL0 = 0x00000000;
PINSEL1 = 0x00000000;//全配置为GPIO
IO0DIR = 0x22880000;//输出:CE,CS,PWR_UP,CLK1 输入:KEY,DR1,DATA
IO2DIR = 0x30000000;//输出:LED0,LED1
Config2401(); // 必须执行的配置操作
Delay100();
TxRxBuf[0] = 1;
TxRxBuf[DATA1_W/8 - 1] = 1; // 初始化发送数据(测试)
SetTxMode(); // 设置为发送模式
nRF2401_TxPacket(TxRxBuf); // 发送测试数据
IO2CLR = LED0;
IO2CLR = LED1; // 测试LED0 和 LED1
Delay(500); // 延时使LED灯点亮
IO2SET = LED0;
IO2SET = LED1; // 使LED灯熄灭
TxRxBuf[0] = 0x0;
TxRxBuf[DATA1_W/8 - 1] = 0x0;
SetRxMode(); // 设置RF2401 为接收模式
while(1)
{
for(i=0;i<30;i++)for(j=0;j<30;j++);
if (nRF2401_RxPacket(TxRxBuf)==1) //返回1 表明有数据包接收到
{
if (TxRxBuf[0]==1)
{
led0_count=15;
}
if (TxRxBuf[DATA1_W/8 - 1]==1)
{
led1_count=15;
}
}
TxRxBuf[0]=0;
TxRxBuf[DATA1_W/8 - 1]=0;
if ((IO0PIN&KEY1)==0)
{
TxRxBuf[0] = 1;
TxRxBuf[DATA1_W/8 - 1] = 1;
led0_count=15;
led1_count=15;
}
if (TxRxBuf[0]==1 || TxRxBuf[DATA1_W/8 - 1]==1)
{
SetTxMode(); //设置为发射模式
nRF2401_TxPacket(TxRxBuf); //发送数据
SetRxMode();
}
TxRxBuf[0]=0;
TxRxBuf[DATA1_W/8 - 1]=0;
//LED显示延时
if (led0_count>0)
{
led0_count--;
IO2CLR = LED0;
}
else IO2SET = LED0;
if (led1_count>0)
{
led1_count--;
IO2SET = LED1;
//IO2CLR = LED1;
}
else IO2CLR = LED1;
}//end_while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -