找回密码
 立即注册
查看: 318|回复: 2

STC8A比较器一直进中断

[复制链接]

2

主题

1

回帖

16

积分

新手上路

积分
16
发表于 2024-5-27 12:21:27 | 显示全部楼层 |阅读模式
比较器正极接的100K和10K电阻进行分压,万用表测得P37引脚电压为2.2V,负极选择内部1.19V参考电压,按道理来说正极电压高于内部1.19V,为什么还会频繁进入比较中断,配置代码如下。


void STC8Ax_COMP_Config(void)
{
       
    CMPEXCFG = 0x00;
    CMPEXCFG &= ~0x03;                          //P3.7为CMP+输入脚
    CMPEXCFG |= 0x04;                           //内部1.19V参考电压为CMP-输入脚
    CMPCR2 = 0x00;
    CMPCR2 &= ~0x80;                            //比较器正向输出
    CMPCR2 &= ~0x40;                            //使能0.1us滤波
    CMPCR2 |= 0x08;                             //比较器结果经过8个去抖时钟后输出
    CMPCR1 = 0x00;
    CMPCR1 |= 0x10;                             //使能比较器下降沿中断
    CMPCR1 &= ~0x02;                            //禁止比较器输出
    CMPCR1 |= 0x80;                             //使能比较器模块
}

另外想问一下,STC下载软件中的允许低压复位是设置的什么
截图202405271221095339.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15626
发表于 2024-5-27 12:52:32 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-5-27 16:12:14 | 显示全部楼层
1、初始化之前,是否有设置:P_SW2 |= 0x80;
2、P37(CPM+)引脚电压为2.2V明显比内部1.19V高,不会连续产生中断,
     如果连续产生中断说明你的信号有纹波,或者中断函数没有清除中断标志。


可以在比较器中断函数中取反一个IO来指示进入中断,示波器观察IO。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 15:43 , Processed in 0.111979 second(s), 63 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表