49
456
1375
助理工程师
3567360139f2de8052.png (289.21 KB )
下载附件
2021-1-29 13:37 上传
6047060139fc84c7b8.png (22.61 KB )
2021-1-29 13:40 上传
854276013a09754a5d.png (262.03 KB )
2021-1-29 13:43 上传
236926013a0a91a68a.png (76.42 KB )
2021-1-29 13:44 上传
static void SysClkConfig(void) { stc_clk_sysclk_cfg_t stcSysClkCfg; stc_clk_xtal_cfg_t stcXtalCfg; stc_clk_mpll_cfg_t stcMpllCfg; MEM_ZERO_STRUCT(stcSysClkCfg); MEM_ZERO_STRUCT(stcXtalCfg); MEM_ZERO_STRUCT(stcMpllCfg); /* Set bus clk div. */ stcSysClkCfg.enHclkDiv = ClkSysclkDiv1; // 100MHz stcSysClkCfg.enExclkDiv = ClkSysclkDiv2; // 50MHz stcSysClkCfg.enPclk0Div = ClkSysclkDiv1; // 100MHz stcSysClkCfg.enPclk1Div = ClkSysclkDiv2; // 50MHz stcSysClkCfg.enPclk2Div = ClkSysclkDiv4; // 25MHz stcSysClkCfg.enPclk3Div = ClkSysclkDiv4; // 25MHz stcSysClkCfg.enPclk4Div = ClkSysclkDiv2; // 50MHz CLK_SysClkConfig(&stcSysClkCfg);//时钟分频 /* Switch system clock source to MPLL. */ /* Use Xtal as MPLL source. */ stcXtalCfg.enMode = ClkXtalModeOsc;//XTAL模式选择位 0:振荡器模式 1:外部时钟输入模式 stcXtalCfg.enDrv = ClkXtalLowDrv;/*XTAL驱动能力选择 00:高驱动能力(建议20~24MHz晶振) 01:中驱动能力(建议16~20MHz晶振) 10:小驱动能力(建议8~16MHz晶振) 11:超小驱动能力(建议4~8MHz晶振)*/ stcXtalCfg.enFastStartup = Enable;//XTAL超高速驱动允许 0:禁止超高速驱动 1:允许超高速驱动 超高速驱动允许时,XTAL稳定后,无视此位设定,禁止超高速驱动,降低功耗。 CLK_XtalConfig(&stcXtalCfg);//CMU XTAL 配置寄存器 CLK_XtalCmd(Enable);//开启CMU XTAL 控制寄存器的XTALSTP位 0:XTAL振荡器振荡 1:停止振荡 /* MPLL config. */ stcMpllCfg.pllmDiv = 1ul;//MPLL输入时钟分频系数 stcMpllCfg.plln =50ul;//MPLL倍频系数 stcMpllCfg.PllpDiv = 4ul; stcMpllCfg.PllqDiv = 4ul; stcMpllCfg.PllrDiv = 4ul; CLK_SetPllSource(ClkPllSrcXTAL);//CMU MPLL 配置 寄存器的时钟源选择 /*MPLL/UPLL输入时钟源选择 0:选择外部高速振荡器作为MPLL/UPLL的输入时钟 1:选择内部高速振荡器作为MPLL/UPLL的输入时钟*/ CLK_MpllConfig(&stcMpllCfg);//CMU MPLL 配置 寄存器 时钟分频配置 /* flash read wait cycle setting */ EFM_Unlock(); EFM_SetLatency(5ul); EFM_Lock(); /* Enable MPLL. */ CLK_MpllCmd(Enable);//用于开始停止MPLL。0:MPLL动作开始 1:MPLL停止 /* Wait MPLL ready. */ while(Set != CLK_GetFlagStatus(ClkFlagMPLLRdy)) { ; } /* Switch system clock source to MPLL. */ CLK_SetSysClkSource(CLKSysSrcMPLL);//CMU 系统时钟源切换寄存器 /* 0 0 0:选择HRC时钟作为系统时钟 内部高速 0 0 1:选择MRC时钟作为系统时钟 内部中速 0 1 0:选择LRC时钟作为系统时钟 内部低速 0 1 1:选择XTAL时钟作为系统时钟 外部高速 1 0 0:选择XTAL32时钟作为系统时钟 外部低速 1 0 1:选择MPLL作为系统时钟 倍频 1 1 0:禁止设定 1 1 1:禁止设定*/ }
使用特权
21小跑堂 打赏了 10.00 元 2021-01-29 理由:感谢参与原创奖励活动,请多多加油哦!
736386013a3ee3de91.png (318.56 KB )
2021-1-29 13:58 上传
59196013a513497f4.png (117.01 KB )
2021-1-29 14:02 上传
0
3
9
实习生
279
1448
4320
中级工程师
28
356
1068
21
87
261
中级技术员
27
424
1291
7
初级技术员
18
143
2263
初级工程师
1
6
139
955
2847
ming_hu 发表于 2021-6-22 13:08 CAN使用时钟是哪里来的?
233756108c6b87eff8.png (25.45 KB )
2021-8-3 12:31 上传
4
81
247
39
117
发表回复 本版积分规则 回帖后跳转到最后一页
等级类勋章
发帖类勋章
时间类勋章
人才类勋章
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注21ic项目外包
扫码关注21ic视频号
扫码关注21ic抖音号
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才 | 论坛帮助
京公网安备 11010802024343号