[技术问答] M261的比较器,为何正负计数数值相差很多?

[复制链接]
1035|8
 楼主| nbiot 发表于 2019-12-18 11:38 | 显示全部楼层 |阅读模式
M261的比较器,为何正负计数数值相差很多?

按道理,进入比较器的中断,不是正端>负端,就是负端>正端,应该是正负计数数值比较接近才是,为何会相差很多?

  1. void ACMP01_IRQHandler(void)
  2. {
  3.     /* Clear ACMP 1 interrupt flag */
  4.     ACMP_CLR_INT_FLAG(ACMP01, 0);
  5.     if(ACMP_GET_OUTPUT(ACMP01, 0))
  6.      u32CntH++;//   printf("ACMP1_P voltage > VER (%d)\n", u32Cnt);
  7.     else
  8.      u32CntL++;//   printf("ACMP1_P voltage <= VER (%d)\n", u32Cnt);
  9.    // u32Cnt++;
  10. }

  11. //初始化代码。
  12.                 ACMP_Open(ACMP01, 0, ACMP_CTL_NEGSEL_VBG, ACMP_CTL_HYSTERESIS_DISABLE);
  13.        
  14.     /* Select P1 as ACMP positive input channel */
  15.                 ACMP_SELECT_P(ACMP01, 0, ACMP_CTL_POSSEL_P1);
  16.     /* Enable interrupt */
  17.     ACMP_ENABLE_INT(ACMP01, 0);
  18.        
  19.     /* Enable ACMP01 interrupt */
  20.     NVIC_EnableIRQ(ACMP01_IRQn);

643757107 发表于 2019-12-18 16:24 | 显示全部楼层
你测的什么啊,正弦波?
 楼主| nbiot 发表于 2019-12-18 16:56 | 显示全部楼层
643757107 发表于 2019-12-18 20:26 | 显示全部楼层
方波周期调整大点观察一下。
643757107 发表于 2019-12-18 20:27 | 显示全部楼层
相差多少,你输入方波100个周期。看看测量结果是多少。
643757107 发表于 2019-12-18 20:27 | 显示全部楼层
可以找个单片机用IO做个方波发生器。测一下看看。
wanduzi 发表于 2019-12-19 21:33 | 显示全部楼层
相差多少啊,举个例子。
yiyigirl2014 发表于 2019-12-20 17:23 | 显示全部楼层
说的不明不白的。
jiekou001 发表于 2019-12-20 21:40 | 显示全部楼层
比较器中断是什么时候中断?只要输出跳变就中断吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:QQ 2419286292

82

主题

181

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部