STC32G12K128-35I-LQFP48的外部晶振问题
void CLK_Init(void){
CLK_HSIOCK_Divider(1); //设置高速外设时钟预分频系数
CLK_XOSC_Enable(); //启动外部高速有源晶振
CLK_XOSC_LowGain(); //振荡器低增益
CLK_XOSC_HighFilter(); //使能振荡器高频滤波器
CLK_XOSC_WaitStable(); //等待振荡器稳定
CLK_SYSCLK_Divider(10); //切换主时钟前先将系统时钟降频
HIRC_24M(); //选择内部预置的频率
CLK_MCLK_XTAL(); //选择外部高速晶振作为主时钟
CLK_MCLK2_BYPASS(); //旁路MCLK2,直接使用MCLK选择
CLK_SYSCLK_Divider(1); //设置系统时钟分频系数
CLK_HSIOCK_MCLK(); //选择MCLK主时钟作为高速外设时钟源
//<<AICUBE_USER_CLOCK_INITIAL_BEGIN>>
// 在此添加用户初始化代码
//<<AICUBE_USER_CLOCK_INITIAL_END>>
}我用的这个配置会导致我的can通信不上,我注释掉这个值后用内部IRC就这次通信了,是我配置不对吗
用示波器测一下振荡脚有没有起振,起振的话看看频率是多少 可能晶振类型和规格需要考虑
片内对各类晶振有没有兼容设计
根据手册参考电路选择的晶振会更稳定 乘风飞扬 发表于 2026-6-15 18:36
用示波器测一下振荡脚有没有起振,起振的话看看频率是多少
有起振4.3khz左右
bphpsjin 发表于 2026-6-15 19:00
有起振4.3khz左右
那就是没有起振。再差的晶振,误差都在0.1%之内。
页:
[1]