⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c.bak

📁 S3C44B0定时器中断的例子,已经调试通过,供ARM7初学者参考.
💻 BAK
字号:
//定时器中断测试程序
//作者:ZZC
//日期:2007.08.5
//OK

#include "option.h"
#include "def.h"
#include "44b.h"
#include "44blib.h"

extern void Beep(int);
static U32 TimerCnt=0;

void __irq Timer_Tick(void)
{	
    rI_ISPC=BIT_UTXD1; 
if(TimerCnt%50==0)
{
 Led_Display(1);
 Beep(0);
 }
if(TimerCnt%99==0)
{
 Led_Display(2);
 Beep(1);
TimerCnt=0;
}
TimerCnt++;
}

void Timer_Init(void)
{
/*	
 *	Timer Clock Frequency = MCLK/pre/mux
 */	
    rTCFG0=0x00000f00;	//dead zone=0,pre2=0,pre1=0xf,pre0=0
    rTCFG1=0x00001000;	//all interrupt,mux5=1/2,mux2=1/2,mux3=1/4,mux2=1/2,mux1=1/2,mux0=1/2
    
    rTCNTB3=0xc350;		//(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=0x1;    //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 Main(void)
{
    rSYSCFG=CACHECFG;   // Using 8KB Cache//

    Port_Init();
    Delay(10);
    Led_Display(3);
    Delay(2000);
    Timer_Init();
    while(1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -