你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32L053 comp2 比较电压无效问题

[复制链接]
STMCU小助手 发布时间:2022-2-23 19:10
前言
: [, Q+ g1 H6 U" p: }/ R" l某客户在调试 STM32L053 的比较器 1 时,使用内部 1.2V 的参考电压,没有问题.但当使用比较器 2 时,使用同样的设置,却发现比较电压无法调到 1.2V,只能设置到 0.6V 左右,到时是什么问题呢?; h6 D) v) N0 D# a
. t  X" M% H& R  `; }& F8 ~
问题解决
0 f+ E4 i' w9 Q问题调试1 M' n( p7 \/ D
首先得到这个问题,我们先比较一下两种现象之间的设置问题,发现比较器 1 和比较器 2 的设置都是一样的.然后我们通过修改比较器 2 的内部比较电压查看现象,发现就算我们设置为二分之一的内部参考电压(二分之一的 1.2V),触发门限依旧是 0.6V.即使使用 cubeMx 重新生成代码,现象也没有得到解决.3 c; t1 T/ S0 T3 G( s6 W. m
+ l4 S9 _- X8 P2 d- T( m! y  [. V$ \0 t# q
解决方法$ f( D( d+ x  W
然后我们开始查看参考手册,我们猜想,两个比较器之间是否有不一样的设置,以为比较器 2 更为高级,有更多的设置.排除功耗和速度的不一样设置外.我们通过搜寻 comp2 发现其在 Reference control and status register (SYSCFG_CFGR3)里面有个不一样的设置, Bit 0 EN_VREFINT.具体描述如下 :
2 f4 `4 [3 a/ l9 n- l+ o9 a' F# I' }+ j3 l' r: w) x
LANL84HDV25KZ{4_{LTEJ.png
3 y  N3 w2 ?. ]! ]0 Q3 \9 W+ `  K! U% {2 {7 ?
如描述,我们在某些模式下,必须设置这一位.所以我们做以下修改.在使能比较器 2 之前先设置这一位.4 ^2 b2 s7 Y1 U, @6 [; l' H1 F& b( t
  1. SET_BIT (SYSCFG->CFGR3, 1);
    # l/ p$ \) @4 {$ X6 \% K
  2. HAL_COMP_Start(&hcomp2);
复制代码

9 j/ M- D; u4 N# G在这修改后,比较器 2 的比较电压可以得到正常的电压值,如 1.2V.
  e, t/ \3 _% V1 a7 }5 i7 g4 z: \$ ?6 b
总结
" x2 O/ [* |. {* T! ]在同一个类型外设中,如果两个外设同样的设置,却得不到同样的效果.我们可以通过查询参考手册对于这两个外设的不同描述,根据不同的描述,找出与现象之间有相关的差异,进行修改与调试.往往可以得到比较好的效果,或者提示.- h$ @2 j) Q4 m# k" ]% L% l  d6 Y

8 s2 M" s; X/ c* A6 d' I7 z1 o' t& k; D" C
赞 收藏 评论0 发布时间:2022-2-23 19:10

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版