主题:controlSUITE中讨论的其他部件
您好,
对于我的应用,我想在启动后切换到外部振荡器。 此振荡器连接到X1/X2针。 在bootloader中,我使用内部振荡器,在应用程序启动后,我切换到外部振荡器。
问题是CPU似乎一直在重置。 我怀疑VCOCLK溢出,因为它不会被OSCCLK清除。 但是我不确定。
有趣的是,通过在调试模式下运行应用程序(即没有引导加载程序),应用程序工作正常,不会发生重置。这意味着应用程序中的振荡器设置没有故障。 引导加载程序中的振荡器设置也没有故障,因为如果我撤消应用程序中的振荡器更改,所有操作仍然有效,并继续使用引导加载程序中的振荡器设置。
内部/外部振荡器之间的转换不顺利。
以下是引导加载程序振荡器步骤:
//启用内部振荡器1 clk_enablescalator 1(obj->clkHandle); //禁用 CLK_disableClkIn(obj->clkHandle)中的外部时钟; //禁用晶体振荡 器CLK_disableCrysterOscrystalosc(obj->clkHandHandle); //禁用振荡器2 CLK_CLklock_CLklock_1 ;CLklock_CLkpress_CLk_CLk_CLklock_1; CLk_1
切换步骤(在应用程序中发生):
//禁用外部时钟。请查看参考文档第12页。 x1 clk_disableClkIn(obj->clkHandle); clk_set奥斯卡2Src(obj->clkHandle, CLK_奥斯卡2Src_Internal); //设置振荡器源 CLK_setscalerSrc(SYob->clkHandle,CLK_奥斯卡Src_External); //已移至最后一个振荡器,CLK_CLk_CLkscrc1; 已关闭CLk_CLKSC1(SYSC1;已关闭CLk_SC1;已关闭时钟,已关闭时钟,已关闭时钟已关闭,已关闭,已关闭
两个时钟之间的转换似乎有问题。 是否有人有类似的经历?
谢谢!