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

📄 timer5.c

📁 在三星的S3C44B0X上移植的uCOSII2.80的源程序
💻 C
字号:
/*
*********************************************************************************************************
* 文件: Timer5.C
* 描述: Timer5 分配为系统节拍发生器.
* 编写: 深思 (001-12345@sohu.com).
*********************************************************************************************************
*/
#include "headers.h"

/*
*********************************************************************************************************
* 描述: 初始化系统节拍定时器, Timer5 产生 200 Hz 的时钟节拍.
*********************************************************************************************************
*/
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);                               // 手动下载周期值,并设置为自动装载.
    TCON   = (TCON & ~(1 << 25)) | (1 << 24) ;           // 启动.
	INTMSK &= ~((1 << 26) + (1 << 8));                   // 开中断屏蔽及全局屏蔽位.
}

/*
*********************************************************************************************************
* 描述: 系统节拍中断服务程序.
*********************************************************************************************************
*/
void __irq ISR_Timer5 (void)
{
    OSIntEnter();

    OSTimeTick();                                   /* 系统节拍服务程序.    */

    OSIntExit();
    I_ISPC |= (1 << 8);                            /* clear the pending bit. */
}

/*
********************************************************************************************************
* End.
********************************************************************************************************
*/

⌨️ 快捷键说明

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