init_timer0.c
来自「关于nucleus系统的教程文档」· C语言 代码 · 共 39 行
C
39 行
#include "2410addr.h"
/*************************************************
timer0是系统时钟 10ms
************************************************/
void INT_Timer_Initialize(void)
{
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* */
/* Fout(s)=[(prescaler+1)*(TCNTB+1)]/[pclk*divider]=40ms */
/* */
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
rTCFG0=(rTCFG0&~0xFF)|0x64; //prescaler0 100
rTCFG1=(rTCFG1&~0x0F)|0x01; //divide value 1/4
rTCNTB0=5000; //TCNTB=5000
rTCMPB0=3000;
rTCON=(rTCON&~0xFF)|0x0a; //auto load, invert off, manual update, stop timer
/*INTIALIZE THE INTERRUPT*/
rINTMOD=0x0; //all irq
rINTMSK=0xffffffff; //disable all interrupt source
rINTSUBMSK=0xffff; //disable all sub interrupt source
}
void EnableTimer0(void)
{
rINTMSK=~(BIT_TIMER0);
rTCON=(rTCON&~0xFF)|0x09;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?