📄 main.c
字号:
#include "ctrl_set.h"
#include "console.h"
#include "utils.h"
#include "DataType.h"
#include "44b0x.h"
/*
KEY0 EINT4
KEY1 EINT5
KEY2 EINT6
KEY3 EINT7
*/
void __irq Timer5_Exception(void);
void __irq EXT_Exception(void);
extern void DelayNS(int dly);
extern U32 MCLK;
void LEDON(char i)
{
if(i==1)
{ rPDATC&=0xfff1;
rPDATC|=2;
}
if(i==2){
rPDATC&=0xfff1;
rPDATC|=4;
}
if(i==3){
rPDATC&=0xfff1;
rPDATC|=8;
}
}
void beep(char i)
{
if(i==0)
rPDATE|=0x20;
if(i==1)
rPDATE&=~0x20;
}
void Time5IntTest(void)
{
unsigned long int prescaler,mux5,timer5control;
pISR_TIMER5 =(int)Timer5_Exception;
rINTCON=1;
rINTMOD&=~BIT_TIMER5;//set timer5 as irq interrupt mode
//rINTMSK=~(BIT_TIMER5|BIT_GLOBAL); //timer5 interrupt enable
prescaler=255;
prescaler<<=16;
rTCFG0&=0xfffff0ff;
rTCFG0|=prescaler; //seting timer5 prescaler
mux5=0 ;//0 1/2
mux5<<=20;
rTCFG1&=0xff0fffff;
rTCFG1|=mux5;
rTCNTB5=65535/4;
timer5control=2; //
timer5control<<=24;
rTCON=timer5control;
timer5control=5; //
timer5control<<=24;
rTCON=timer5control;
}
void Test_Eint(void)
{
rINTCON=1;//irq interrupt
pISR_EINT4567=(int)EXT_Exception;
rSPUCR=4;
//rPCONG=0x0000;
rPCONG=0xff00; //EINT7~4
rPUPG=0x0; //pull up enable
rEXTINT=0x0; //low level interrupt
// rI_ISPC=BIT_EINT4567;
rINTMOD&=~(BIT_EINT4567|BIT_GLOBAL);
// rINTMSK=~(BIT_EINT4567|BIT_GLOBAL);
}
void __irq EXT_Exception(void)
{
static int i;
//DisableInt();
rEXTINTPND=0xf;
if(i%2==0)
LEDON(1);
else LEDON(2);
i++;
//EnableInt();
rI_ISPC=BIT_EINT4567;
}
void __irq Timer5_Exception(void)
{
static int i;
//DisableInt();
if(i%2==0)
beep(0);
else
beep(1);
i++;
//EnableInt();
rI_ISPC=BIT_TIMER5;
}
/*********************************************************/
#include "44b0x.h"
int Main()
{
int i,j, key,temp,temp1,temp2;
// ChangePllValue(88, 6, 1); //修改系统主频为6倍频
ChangePllValue(120, 8, 1); //修改系统主频为6.4倍频
PortInit();
beep(1);
rINTMSK=0xffffffff;
initIRQ();//enable irq
Time5IntTest();
Test_Eint();
rINTMSK=~(BIT_EINT4567|BIT_GLOBAL|BIT_TIMER5); //intermask必须放这里,否则中断不能同时进入
while(1);
}
void FIQ_Exception(void)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -