#define __NOP asm("NOP")
#define __Wait4NOP asm("NOP\nNOP\nNOP\nNOP")
/************************************************************************
*函数原型: void InitClock(void)
*功能 : 时钟初始化处理程序
************************************************************************/
void InitClock()
{
prcr = 0x01; //关闭和时钟相关的保护寄存器,允许修改时钟
cm14 = 0;
hra00 = 1; //高速内部振荡器振荡
hra2=0; //标准8MHz,出厂参数
SoftWait(100); //等待
hra01 = 1; //使用内部高速振荡器时钟(FRING-Fast)作为内部时钟(FRING)
ocd2 = 1; //使用内部时钟作为系统时钟
cm16 = 0; //CPU时钟不分频
cm17 = 0;
cm06 = 0; //CPU时钟的分频比使用CM16,CM17进行设定
cm05 = 1;
cm13 = 0;
cm10 = 0;
prcr = 0; //打开保护寄存器
}
/************************************************************************
*函数原型: void SoftWait (unsigned int WaitTime)
*功能 : 短延时程序,约6US @8MHz
************************************************************************/
void SoftWait(unsigned int WaitTime)
{
while(0 != WaitTime)
{
__Wait4NOP;
WaitTime --;
}
}
文章评论(0条评论)
登录后参与讨论