本帖最后由 86hupeng 于 2022-2-19 14:02 编辑
我用的是HC32F4A0,PLL部分 数据手册上 没有给出 具体的PLL计算公式; 像下面这个,翻了几个小时,都没有找到PLL怎么算出来的,也不敢动,就问你感不感动;
(void)CLK_PLLHStructInit(&stcPLLHInit);
/* VCO = (8/1)*120 = 960MHz*/
stcPLLHInit.u8PLLState = CLK_PLLH_ON;
stcPLLHInit.PLLCFGR = 0UL;
stcPLLHInit.PLLCFGR_f.PLLM = 1UL - 1UL;
stcPLLHInit.PLLCFGR_f.PLLN = 120UL - 1UL;
stcPLLHInit.PLLCFGR_f.PLLP = 4UL - 1UL;
stcPLLHInit.PLLCFGR_f.PLLQ = 4UL - 1UL;
stcPLLHInit.PLLCFGR_f.PLLR = 4UL - 1UL;
stcPLLHInit.PLLCFGR_f.PLLSRC = CLK_PLLSRC_XTAL;
(void)CLK_PLLHInit(&stcPLLHInit);
HC相比STM32太落后,驱动与框架都要一步一步来,10年前干的事情,现在要重新干一边;
真心想要像 STM32那种可以配置时钟树+生产软件代码的工具;
用STM32基本上1天搭好系统框架和驱动,第二天就可以开始做应用开发了;
HC32F4A0都一周了,还在调UART空闲中断+DMA方式; 软件开发成本大增;
|