从这篇博文开始,博主将连载几篇博客与大家一起分享学习瑞萨RH850开发板的示例程序。
博主使用的时RH850F1L,控制器型号R7F7010334,176pin LQFP封装。
一切从main()函数开始
code segment 1
1、code segment 1->line110:R_SYSTEM_ClockInit();该函数用于系统时钟的初始化
code segment 2
1.1、code segment 2->line158:R_CLKC_PllInit();该函数用于PLL的初始化
从上图可知,CPU最高频率为80MHz,PLL最高频率为80MHz
176pin封装主晶振频率是8~24MHz,副晶振频率是32.768kHz,原理图如下所示
code segment 3
1.1.1、code segment 3->Line81:解释
MOSCS寄存器定义如下图所示,MOSCS.MOSCCLKACT位标记MainOSC是否激活状态
因此code segment 3->Line81用于判断MainOSC是否激活
MOSCC寄存器定义如下图所示code segment 3->Line83:MOSCC=0x06;表示选用外部16MHz晶振
MOSCST寄存器定义如下图所示ROSCS.ROSCCLKACT的Reset值为1,所以此处其值为1
code segment 3->Line84:MOSCST=0x00008000;石英晶振从启动到稳定的时长
Stabilization time = MOSCCLKST[16:0] / fRH = 0x00008000/fRH = 215 / 8MHz 约等于4.1ms(1MHz = 1000kHz)
PLLS寄存器定义如下图所示
code segment 3->Line84:判断PLL是否激活
PLLC寄存器定义如下图所示
1.2、code segment 2->Line159:R_CLKC_SetAdca0ClockDomain(R_CLKC_ADCA_PPLLCLK2);设置ADCA0的时钟
1.3、code segment 2->Line160:R_CLKC_SetTaujClockDomain(R_CLKC_TAUJ_PPLLCLK2);设置TAUJ的时钟
1.4、code segment 2->Line163:R_CLKC_SetRscanClockDomain(R_CLKC_RSCAN_PPLLCLK,R_CLKC_RSCAN_DIV_MOSC1);设置Rscan的时钟
至此,时钟初始化分析完成
email:1256153255@qq.com