问答

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

ewrwer

TA的家园币:20  

  • hc32l110使用定时器控制led灯亮灭

    hc32l110使用定时器控制led灯亮灭,设置的是500ms亮,500ms灭,将程序写入单片机灯亮灭的时间远超500ms,使用的是官方开发板,系统时钟设置为24MHZ,定时器分频为16,重装载值为1499。求指导是什么原因引起的,谢谢uint32_tSystemCoreClock=4000000;//addclocksource.voidSystemCoreClockUpdate(void)//UpdateSystemCoreClockvariable{SystemCoreClock=Clk_GetHClkFreq();}/**********************************************************************************\brief对MCU未引出IO端口进行默认配置.****\paramnone**\returnnone******************************************************************************/staticvoid_HidePinInit(void){#if!defined(HC32L110Cxxx)//20PINMCUuint32_ttmpReg=M0P_CLOCK->PERI_CLKEN;M0P_CLOCK->PERI_CLKEN_f.GPIO=1;#ifdefined(HC32L110Bxxx)//16PINMCUM0P_GPIO->P0ADS&=0x07;///<P03配置为数字端口M0P_GPIO->P3ADS&=0xE3;///<P32/P33/P34配置为数字端口M0P_GPIO->P0DIR|=0xF8;///<P03配置为端口输入M0P_GPIO->P3DIR|=0x1C;///<P32/P33/P34配置为端口输入M0P_GPIO->P0PU|=0xF8;///<P03配置为上拉M0P_GPIO->P3PU|=0x1C;///<P32/P33/P34配置为上拉#endifM0P_CLOCK->PERI_CLKEN=tmpReg;#endif}/**********************************************************************************\briefSetupthemicrocontrollersystem.InitializetheSystemandupdate**theSystemCoreClockvariable.****\paramnone**\returnnone******************************************************************************/voidSystemInit(void){stc_clk_systickcfg_tstcCfg;//TODO从Flash加载修调值并启用内部高速时钟(当前为手动设置24MHz)Clk_SetRCHFreq(ClkFreq24Mhz);//设置内部高速时钟频率为24MHzClk_Enable(ClkRCH,TRUE);//启用内部高速时钟SystemCoreClockUpdate();//更新系统核心时钟频率变量_Hide