原创 R8C\1A 1B的时钟初始化 【内部8M】

2011-2-25 14:28 1317 3 3 分类: MCU/ 嵌入式
来源:瑞萨单片机论坛

#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条评论)

登录后参与讨论
我要评论
0
3
关闭 站长推荐上一条 /3 下一条