📄 main.c
字号:
#include "ap.h"
#include "raido.h"
#include "mac.h"
#include "serial.h"
#include "timer.h"
#include "command.h"
#include "router.h"
#include "submit.h"
void Onboard_wait( unsigned int timeout );
void Onboard_wait( unsigned int timeout )
{
while (timeout--)
{
asm("NOP");
asm("NOP");
asm("NOP");
}
}
void AppInit(void);
AP_ATTRIBUTE apAttribute;
BYTE WifiCommand[MAXUARTBYTE];
RCEPACKET recPacket;
void main()
{
//BYTE length=0;
//WORD timeout=10;
GLOBAL_INT_ENABLE(INT_OFF);
//InitBoard();
//RaidoInit(DEFAULTFREQUENCY,LOCALADDRESS,PANID);
//MacInit();
//AppInit();
SET_MAIN_CLOCK_SOURCE(CRYSTAL);
RFPWR = 0x04;
while(RFPWR & 0x10);
IO_DIR_PORT_PIN(1,0,IO_OUT); //LED1灯
IO_DIR_PORT_PIN(1,1,IO_OUT); //LED2灯
InitUART();
P2SEL=P2SEL&~0XC0;
P2SEL=P2SEL|0X80;
P2DIR=(P2DIR&~0XC0)|0X40;
EA=1;
while(1)
{
putchar(0x01);
putchar(0x02);
putchar(0x03);
putchar(0xab);
putchar(0xcd);
Onboard_wait(5000);
P1_0=~P1_0;
}
while(1)
{
switch(apAttribute.apStatus)
{
case AP_IDLE:
apAttribute.apStatus=AP_RECEIVE;
break;
case AP_RECEIVE:
if(recPacket.statusACnt.recPacktetCnt>0) //接收时开了一255的缓冲区,可存放两个包。
apAttribute.apStatus=AP_SUBMIT;
break;
case AP_SUBMIT:
Submit();
apAttribute.apStatus=AP_RECEIVE;
break;
default :
apAttribute.apStatus=AP_IDLE;
break;
}
}
}
void AppInit(void)
{
apAttribute.localAddress=LOCALADDRESS;
apAttribute.panid=PANID;
apAttribute.apStatus=AP_IDLE;
apAttribute.lay=0xFF;
apAttribute.flags.bit.time3over=FALSE;
apAttribute.flags.bit.dayTimePowerOn=FALSE;
apAttribute.flags.bit.uartGet55=FALSE;
apAttribute.flags.bit.uartRecPacket=FALSE;
apAttribute.flags.bit.uartOverFlow=FALSE;
apAttribute.flags.bit.newSonNod=FALSE;
apAttribute.uartCnt=0;
apAttribute.dayTime=0;
RouterTableInit();
recPacket.val=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -