OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4718|回复: 1

STM8L151 内部比较器COMP1怎么使用,无法唤醒单片机

[复制链接]

10

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
216
金钱
216
注册时间
2015-5-19
在线时间
23 小时
发表于 2018-12-3 12:19:01 | 显示全部楼层 |阅读模式
1金钱


如题,使用STM8L151G4U6的COMP1作为比较器检测外部输入电压是否高于内部参考1.24V的时候,在单片机没有休眠的情况下,可以正常触发中断,也可以读取比较器输出结果,但是一旦单片机进入halt();就无法中断唤醒了,又或者一直触发中断,不知道是哪里没设置好,有大神能帮忙分析下吗?下面贴出相关初始化代码

GPIO_Init(GPIOA,GPIO_Pin_5,GPIO_Mode_In_FL_No_IT);

static void COMP_Config(void)
{
  CLK_PeripheralClockConfig(CLK_Peripheral_COMP, ENABLE);
  /* Connect internal reference voltage to COMP1 inverting input */
  COMP_VrefintToCOMP1Connect(ENABLE);
  /* close the analog switch number 0 */
  SYSCFG_RIAnalogSwitchConfig(RI_AnalogSwitch_0, ENABLE);
  /* close the analog switch number 1 */
  SYSCFG_RIAnalogSwitchConfig(RI_AnalogSwitch_14, ENABLE);
  /* close the I/O switch number 2 */
  SYSCFG_RIIOSwitchConfig(RI_IOSwitch_2, ENABLE);// PA5
  
  COMP_EdgeConfig(COMP_Selection_COMP1, COMP_Edge_Rising);
  
  /* Enable COMP1 Interrupt */
  COMP_ITConfig(COMP_Selection_COMP1, ENABLE);
  /* Configure the event detection */
}

INTERRUPT_HANDLER(ADC1_COMP_IRQHandler,18)
{
    /* In order to detect unexpected events during development,
       it is recommended to set a breakpoint on the following instruction.
    */
  COMP_ClearITPendingBit(COMP_Selection_COMP1);
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164883
金钱
164883
注册时间
2010-12-1
在线时间
2099 小时
发表于 2018-12-4 02:13:53 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-24 07:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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