📄 sys_timer.c.svn-base
字号:
/****************************************************************************
Copyright (c) 深圳市民德电子科技有限公司 http://www.szminde.cn
文件名称:sys_Timer.c
版本号: 1.0
日期: 2005-05-25
说明: 此文件包含对ES-TAD7100开发板上的PWM Timer和Watch Dog Timer
模块的几个简单操作的例子函数。
调用列表:--
修改历史:--
****************************************************************************/
#include "44b.h"
#include "option.h"
#include "sys_Timer.h"
/****************************************************************************
函数名称:SetPWM()
说明: 用指定频率和占空比设置PWM Timer 0。
调用函数:无
输入参数:freq 频率
hi_ratio 占空比
输出参数:无
****************************************************************************/
void SetPWM(U16 freq, U8 hi_ratio)
{
rTCON &= 0xfffffff0;
rTCFG0 &= 0xffffff00;
rTCFG1 &= 0xfffffff0;
rTCFG1 |= 0x00000003;
rTCNTB0 = MCLK/(freq*16);
rTCMPB0 = (rTCNTB0*(100-hi_ratio))/100;
rTCON |= 0x00000002;
rTCON &= 0xfffffff0;
rTCON |= 0x0000000d;
}
/****************************************************************************
函数名称:StopPWM()
说明: 停止PWM Timer 0。
调用函数:无
输入参数:无
输出参数:无
****************************************************************************/
void StopPWM(void)
{
rTCON &= ~0x1;
}
/****************************************************************************
函数名称:WDT_Start()
说明: 设置看门狗计时器并开始计数。
调用函数:无
输入参数:divider 分频参数
输出参数:无
****************************************************************************/
void WDT_Start(S32 divider)
{
rWTCON=((MCLK/1000000-1)<<8)|(divider<<3);
rWTDAT=0xffff;
rWTCNT=0xffff;
rWTCON=((MCLK/1000000-1)<<8)|(divider<<3)|(1<<5);
}
/****************************************************************************
函数名称:WDT_Stop()
说明: 停止Watch Dog Timer计数。
调用函数:无
输入参数:无
输出参数:返回从开始到停止的计数值
****************************************************************************/
S32 WDT_Stop(void)
{
rWTCON=((MCLK/1000000-1)<<8);
return (0xffff-rWTCNT);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -