找回密码
 立即注册
查看: 677|回复: 5

8H1K比较器用不了 | 可以了,用ADCx 作比较器正极输入,ADC的电源要开,通道要设对

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:46
  • 最近打卡:2025-06-28 22:20:48

12

主题

17

回帖

64

积分

注册会员

积分
64
发表于 2024-10-3 20:54:35 | 显示全部楼层 |阅读模式
8h1k08
程序:

void main(void)
{
        P_SW2 = 0x80;        
        
        P1=0x00;
        P1M0 = 0xff; P1M1 = 0x00;         //推挽

        P3=0x00;
    P3M0 = 0x00; P3M1 = 0xff; //高阻
    P3IE = 0xff;
        
    P5M0 = 0xff; P5M1 = 0x00;

        ADC_CONTR = 0x80;        //开启ADC
        ADC_CONTR |= 0x0a;        //选择adc10 p32
        
        CMPCR2 = 0x08;                        //关闭 0.1us 模拟滤波功能,数字滤波8+2周期
        CMPEXCFG = 0x03;                //选择比较器正端ADC,负端P36
        
        CMPCR1 = 0x80;                        //使能比较功能
        CMPCR1 |= 0x10;                        //使能比较功能        
        CMPCR1 |= 0x20;                        //使能比较功能        
        EA = 1;
        
        while(1)
        {
        P54 = 0;
        Delay100ms();
        P54 = 1;
        Delay100ms();               
        }        
}
void CMP_Routine(void) interrupt 21
{
        P17 = 1;
        Delay100us();
        P17 = 0;
        Delay100us();
        P17 = 1;
        Delay100us();
        P17 = 0;
        Delay100us();        
        
        if(CMPCR1 & 0x01)
        {
                P16 = 1;        
        }
        else
        {
                P16 = 0;        
        }
        
        CMPCR1 &= ~0x40;        //清除标志
}
刚上电会中断,主循环正常运行,中断里延时去掉也无法进入,

然后我给P36与p32加正反电压,都无法进入中断

后来我把中断去了直接在主循环判断 if(CMPCR1 & 0x01) 也不行

搞了一天了,问问各位大佬这是什么问题
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:46
  • 最近打卡:2025-06-28 22:20:48

12

主题

17

回帖

64

积分

注册会员

积分
64
发表于 2024-10-3 21:14:56 | 显示全部楼层
woc,老哥们不用了
        我配置了  CMPEXCFG = 0x03;                //选择比较器正端ADC,负端P36
        又加了配置        CMPCR1 |= 0x0c;     //选择比较器正端ADC,负端P36
        就可以了,但是这个 CMPCR1 (适用于旧版比较器,新版比较器使用 CMPEXCFG 中的 CMPPS 进行选择)
        这个不是旧版比较器吗?
        这个新版本与旧版是在那个地方看的?

点评

这个可以看技术手册,芯片型号部分介绍,里面有写使用的是新版比较器还是旧版比较器  详情 回复 发表于 2024-10-3 21:18
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:482
  • 最近打卡:2025-07-01 00:52:47
已绑定手机

19

主题

3233

回帖

5355

积分

论坛元老

积分
5355
发表于 2024-10-3 21:18:28 | 显示全部楼层
具体还是看数据手册吧
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:508
  • 最近打卡:2025-06-28 10:05:05
已绑定手机
已实名认证

113

主题

2423

回帖

6159

积分

版主

积分
6159
发表于 2024-10-3 21:18:45 | 显示全部楼层
tail*** 发表于 2024-10-3 21:14
woc,老哥们不用了
        我配置了  CMPEXCFG = 0x03;                //选择比较器正端ADC,负端P36
      ...

这个可以看技术手册,芯片型号部分介绍,里面有写使用的是新版比较器还是旧版比较器
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:292
  • 最近打卡:2025-06-30 11:32:22

22

主题

282

回帖

1153

积分

金牌会员

积分
1153
发表于 2024-10-3 22:22:42 来自手机 | 显示全部楼层
tailimo 发表于 2024-10-3 21:14
woc,老哥们不用了
        我配置了  CMPEXCFG = 0x03;                //选择比较器正端ADC,负端P36
      ...

IMG_20241003_222145.jpg
REMOVEUNUSED
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:113
  • 最近打卡:2025-06-30 09:26:17

741

主题

1万

回帖

1万

积分

管理员

积分
17264
发表于 2024-10-4 11:21:08 | 显示全部楼层
截图202410041118447786.jpg

截图202410041119183830.jpg

截图202410041119404031.jpg

截图202410041120318550.jpg

截图202410041121043226.jpg

截图202410041122098761.jpg



回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-7-1 02:19 , Processed in 0.129697 second(s), 86 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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