关于void SetSysClock(SYS_CLKTypeDef sc)这个函数一些值的问题

void SetSysClock(SYS_CLKTypeDef sc)

{

? ? uint32_t i;

? ? sys_safe_access_enable();

? ? R8_PLL_CONFIG &= ~(1 << 5); //? ******************************************1号

? ? sys_safe_access_disable();

? ? if(sc & 0x20)?

? ? { // HSE div

? ? ? ? if(!(R8_HFCK_PWR_CTRL & RB_CLK_XT32M_PON))

? ? ? ? {

? ? ? ? ? ? sys_safe_access_enable();

? ? ? ? ? ? R8_HFCK_PWR_CTRL |= RB_CLK_XT32M_PON; // HSE power on

? ? ? ? ? ? for(i = 0; i < 1200; i++)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? __nop();

? ? ? ? ? ? ? ? __nop();

? ? ? ? ? ? }

? ? ? ? }


? ? ? ? sys_safe_access_enable();

? ? ? ? R16_CLK_SYS_CFG = (0 << 6) | (sc & 0x1f);? //*************************************2号

? ? ? ? __nop();

? ? ? ? __nop();

? ? ? ? __nop();

? ? ? ? __nop();

? ? ? ? sys_safe_access_disable();

? ? ? ? sys_safe_access_enable();

? ? ? ? SAFEOPERATE;

? ? ? ? R8_FLASH_CFG = 0X51;

? ? ? ? sys_safe_access_disable();

? ? }


? ? else if(sc & 0x40)

? ? { // PLL div

? ? ? ? if(!(R8_HFCK_PWR_CTRL & RB_CLK_PLL_PON))

? ? ? ? {

? ? ? ? ? ? sys_safe_access_enable();

? ? ? ? ? ? R8_HFCK_PWR_CTRL |= RB_CLK_PLL_PON; // PLL power on

? ? ? ? ? ? for(i = 0; i < 2000; i++)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? __nop();

? ? ? ? ? ? ? ? __nop();

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? sys_safe_access_enable();

? ? ? ? R16_CLK_SYS_CFG = (1 << 6) | (sc & 0x1f);

? ? ? ? __nop();

? ? ? ? __nop();

? ? ? ? __nop();

? ? ? ? __nop();

? ? ? ? sys_safe_access_disable();

? ? ? ? if(sc == CLK_SOURCE_PLL_80MHz)

? ? ? ? {

? ? ? ? ? ? sys_safe_access_enable();

? ? ? ? ? ? R8_FLASH_CFG = 0X02;? //*******************************************3号

? ? ? ? ? ? sys_safe_access_disable();

? ? ? ? }

? ? ? ? else

? ? ? ? {

? ? ? ? ? ? sys_safe_access_enable();

? ? ? ? ? ? R8_FLASH_CFG = 0X52;

? ? ? ? ? ? sys_safe_access_disable();

? ? ? ? }

? ? }

? ? else

? ? {

? ? ? ? sys_safe_access_enable();

? ? ? ? R16_CLK_SYS_CFG |= RB_CLK_SYS_MOD;

? ? }

? ? //更改FLASH clk的驱动能力

? ? sys_safe_access_enable();

? ? R8_PLL_CONFIG |= 1 << 7;

? ? sys_safe_access_disable();

}

请问一下代码中的1、2、3号表示的是什么意思呀?

代码本质是控制芯片本身,应当根据芯片手册,看寄存器的描述,理解其配置的作用。

还有是关于什么芯片的问题?具体的代码来源是?


只有登录才能回复,可以选择微信账号登录