?? timer5.c
字號(hào):
/*
*********************************************************************************************************
* 文件: Timer5.C
* 描述: Timer5 分配為系統(tǒng)節(jié)拍發(fā)生器.
* 編寫: 深思 (001-12345@sohu.com).
*********************************************************************************************************
*/
#include "headers.h"
/*
*********************************************************************************************************
* 描述: 初始化系統(tǒng)節(jié)拍定時(shí)器, Timer5 產(chǎn)生 200 Hz 的時(shí)鐘節(jié)拍.
*********************************************************************************************************
*/
void Init_Timer5 (void)
{
#define Prescaler2 25 // CLK = 1MHz.
#define MUX5 0
#define Count Fclk/(2*Prescaler2)/OS_TICKS_PER_SEC
TCON &= ~(0x07 << 24); // Stop Timer5.
TCFG0 = (TCFG0 & ~(0x0ff << 16)) | (Prescaler2 << 16);
TCFG1 = (TCFG1 & ~(0x0f << 20)) | (MUX5 << 20);
TCNTB5 = Count;
TCON |= (0x06 << 24); // 手動(dòng)下載周期值,并設(shè)置為自動(dòng)裝載.
TCON = (TCON & ~(1 << 25)) | (1 << 24) ; // 啟動(dòng).
INTMSK &= ~((1 << 26) + (1 << 8)); // 開(kāi)中斷屏蔽及全局屏蔽位.
}
/*
*********************************************************************************************************
* 描述: 系統(tǒng)節(jié)拍中斷服務(wù)程序.
*********************************************************************************************************
*/
void __irq ISR_Timer5 (void)
{
OSIntEnter();
OSTimeTick(); /* 系統(tǒng)節(jié)拍服務(wù)程序. */
OSIntExit();
I_ISPC |= (1 << 8); /* clear the pending bit. */
}
/*
********************************************************************************************************
* End.
********************************************************************************************************
*/
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -