📄 main.c
字号:
#include "..\inc\option.h"
#include "..\inc\def.h"
#include "..\inc\44b.h"
#include "..\inc\44blib.h"
#include "..\inc\Hal.h"
#include "math.h"
volatile PORTDATA LedStatus;
volatile XXGFLAGS bXXGFlags;
volatile int Usbevent;
void __irq Timer_Tick(void)
{
rI_ISPC=BIT_TIMER3;
if(LedStatus.p1==1)
{
LedStatus.p1=0;
}
else
{
LedStatus.p1=1;
}
Led_Display(*(int*)&LedStatus);
}
void __irq ISR_SL811HS(void)
{
rI_ISPC=BIT_EINT2;
SL811Write(IntStatus,INT_CLEAR);
Usbevent=TRUE;
}
void Timer_Init(void)
{
rTCFG0=0x00000F00; //dead zone=0,pre2=0,pre1=0xf,pre0=0
rTCFG1=0x00004000; //all interrupt,mux5=1/2,mux2=1/2,mux3=1/4,mux2=1/2,mux1=1/2,mux0=1/2
rTCNTB3=0xc35000; //(1/(60MHz/4/15))*0xc350=50ms //(1/(60MHz/4/15))*0x4320=20ms
rTCMPB3=0x0;
rTCON=0x0020000; //update T3
rTCON=0x0090000; //T3=auto reload,start
rINTCON=0x5; //Non-vectored,IRQ enable,FIQ disable
rINTMOD=0x0; //All=IRQ mode
pISR_TIMER3=(unsigned)Timer_Tick;
rINTMSK=BIT_GLOBAL;
rINTMSK=~(BIT_GLOBAL|BIT_TIMER3); //start timer INT
}
void Exint2_Init(void)
{
rINTCON=0x5; //Non-vectored,IRQ enable,FIQ disable
rINTMOD=0x0; //All=IRQ mode
rINTMSK=BIT_GLOBAL;
pISR_EINT2=(int)ISR_SL811HS;
rINTMSK=~(BIT_GLOBAL|BIT_TIMER3|BIT_EINT2);
}
void Main(void)
{
int i;
rSYSCFG=CACHECFG; // Using 8KB Cache//
Port_Init();
Timer_Init();
Exint2_Init();
SL811ReSet();
SL811_Init();
Usbevent=TRUE;
while(1) {
if(Usbevent)
{
Usbevent=FALSE;
SL811Write(IntStatus,INT_CLEAR);
i=SL811Read(IntStatus);
if((USB_RESET&i))
{
LedStatus.p2=0;
Led_Display(*(int*)&LedStatus);
if(bXXGFlags.bits.SLAVE_ONLINE ==TRUE)
{
bXXGFlags.bits.SLAVE_REMOVED=TRUE;
bXXGFlags.bits.SLAVE_ONLINE =FALSE;
}
}
else
{
LedStatus.p2=1;
Led_Display(*(int*)&LedStatus);
if(bXXGFlags.bits.SLAVE_ONLINE == FALSE&&(i|0x7F))
{
bXXGFlags.bits.SLAVE_FOUND=TRUE;
bXXGFlags.bits.SLAVE_ONLINE =TRUE;
}
}
if( bXXGFlags.bits.SLAVE_FOUND )
{
bXXGFlags.bits.SLAVE_FOUND = FALSE;
fSysInitialize();
Delay(5000);
continue;
}
if( bXXGFlags.bits.SLAVE_REMOVED )
{
bXXGFlags.bits.SLAVE_REMOVED = FALSE;
Led_Display(*(int*)&LedStatus);
LedStatus.p2=0;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -