本帖最后由 莉赛特卡拉 于 2019-6-19 12:18 编辑 你好,遇到个奇怪的问题 我使用STM32CUBE 建立了一个 ADC读取芯片电压的工程,发现在时钟配置的时候是如下语句
程序能够正常运行,在采集电压的时候,3.3V读出的寄存器值是1500左右,//2.8 => 1805 2.7 => 1856 反比例函数 但是我在删除使用内部高速时钟,则ADC无法正常运行,但是程序打印时正常的,也就表示系统使用了外部高速时钟,但是ADC挂了,也就是ADC使用了内部高速时钟 不科学额, 就比较迷糊了,为啥STM32CUBE生产的 时钟配置会 同时启动内部和外部的时钟呢,照理说应该只能使用一个吧。难道他在 使用ADC的时候 给切换到 内部高速时钟,然后用完了再切换回来?? 谢谢 补充:使用的是STM32L151,时钟树有下列该处 |
ADC clock
这就很无语了,用个ADC居然不得不把内部时钟给开了
评分
查看全部评分
楼主的配置并没有使用HSI,从图中可以看到HSI一开始就未选中,VCO输入是走HSE一路的。ADC出错应该查找ADC配置及运行方面的问题。
评分
查看全部评分
你好
是的 按照STM32CUBE的确是没有配置的,但是在生成的自动化代码时钟配置函数SystemClock_Config ,却是使能了外部和内部时钟,我刚刚测试过,如果在STM32CUBE 中取消ADC的选项,则HSI就没有被初始化,生产代码变成了
评分
查看全部评分
ADC使用的时钟HSI14RC好像与HSI RC不一样
很了不起的发现,谢谢分享
评分
查看全部评分