问答

汇集网友智慧,解决技术难题

jackcaj

TA的家园币:14  

  • hc32l130 Sysctrl_ClkSourceEnable问题请教

    /***********************************************************************************\brief系统时钟源使能**\param[in]enSource目标时钟源**\param[in]bFlag使能1-开/0-关**\retvalOk设定成功**其他设定失败******************************************************************************/en_result_tSysctrl_ClkSourceEnable(en_sysctrl_clk_source_tenSource,boolean_tbFlag){en_result_tenRet=Ok;uint32_tu32Temp;_SysctrlUnlock();bFlag=!!bFlag;u32Temp=M0P_SYSCTRL->PERI_CLKEN;switch(enSource){caseSysctrlClkRCH:M0P_SYSCTRL->SYSCTRL0_f.RCH_EN=bFlag;while(bFlag&&(1!=M0P_SYSCTRL->RCH_CR_f.STABLE)){;}break;caseSysctrlClkXTH:M0P_SYSCTRL->PERI_CLKEN_f.GPIO=TRUE;M0P_GPIO->PDADS|=3u;M0P_SYSCTRL->SYSCTRL0_f.XTH_EN=bFlag;while(bFlag&&(1!=M0P_SYSCTRL->XTH_CR_f.STABLE)){;}break;caseSysctrlClkRCL:M0P_SYSCTRL->SYSCTRL0_f.RCL_EN=bFlag;while(bFlag&&(1!=M0P_SYSCTRL->RCL_CR_f.STABLE)){;}break;caseSysctrlClkXTL:M0P_SYSCTRL->PERI_CLKEN_f.GPIO=TRUE;M0P_GPIO->PCADS|=0xC000;M0P_SYSCTRL->SYSCTRL0_f.XTL_EN=bFlag;while(bFlag&&(1!=M0P_SYSCTRL->XTL_CR_f.STABLE)){;}break;caseSysctrlClkPLL:M0P_SYSCTRL->PERI_CLKEN_f.ADC=TRUE;M0P_BGR->CR_f.BGR_EN=TRUE;delay10us(20);M0P_SYSCTRL->SYSCTRL0_f.PLL_EN=bFlag;while(bFlag&&(1!=M0P_SYSCTRL->PLL_CR_f.STABLE)){;}break;default:enRet=ErrorInvalidParameter;break;}M0P_SYSCTRL->PERI_CLKEN=u32Temp;returnenRet;}下划线代码主要作用是什么?

    HC32L130 BLE AB source sy SC

    2023-08-29 0