打印
[信息]

【实战经验】STM32L053 comp2 比较电压无效问题

[复制链接]
1172|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 香水城 于 2017-8-11 13:48 编辑

STM32L053 comp2 比较电压无效问题

前言
某客户在调试STM32L053的比较器1时,使用内部1.2V的参考电压,没有问题.但当使用比较器2时,使用同样的设置,却发现比较电压无法调到1.2V,只能设置到0.6V左右,到时是什么问题呢?

问题解决

问题调试
首先得到这个问题,我们先比较一下两种现象之间的设置问题,发现比较器1和比较器2的设置都是一样的.然后我们通过修改比较器2的内部比较电压查看现象,发现就算我们设置为二分之一的内部参考电压(二分之一的1.2V),触发门限依旧是0.6V.即使使用STM32cubeMx重新生成代码,现象也没有得到解决.

解决方法
然后我们开始查看STM32参考手册,我们猜想,两个比较器之间是否有不一样的设置,以为比较器2更为高级,有更多的设置.排除功耗和速度的不一样设置外.我们通过搜寻comp2发现其在Reference control and status register (SYSCFG_CFGR3)里面有个不一样的设置, Bit 0 EN_VREFINT.具体描述如下 :

      如描述,我们在某些模式下,必须设置这一位.所以我们做以下修改.在使能比较器2之前先设置这一位.

      SET_BIT (SYSCFG->CFGR3, 1); HAL_COMP_Start(&hcomp2);
在这修改后,比较器2的比较电压可以得到正常的电压值,如1.2V.

总结
在同一个类型外设中,如果两个外设同样的设置,却得不到同样的效果.我们可以通过查询参考手册对于这两个外设的不同描述,根据不同的描述,找出与现象之间有相关的差异,进行修改与调试.往往可以得到比较好的效果,或者提示.


对应的PDF: STM32L053 comp2 比较电压无效问题
更多实战经验请看:【ST MCU实战经验汇总贴】

沙发
mmuuss586| | 2017-8-9 19:30 | 只看该作者
说明STM32cubeMx生成代码也有BUG;

使用特权

评论回复
板凳
wanduzi| | 2017-8-9 20:15 | 只看该作者
有时候头文件也可能有错。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:意法半导体(中国)投资有限公司
简介:STM32技术专家

596

主题

17108

帖子

289

粉丝