[STM32F3] STM32F3 COMP不进中断

[复制链接]
2022|21
 楼主| dingy 发表于 2021-4-8 21:50 | 显示全部楼层 |阅读模式
使用STM32F3的COMP1,外部信号可以引发比较器输出反转. 但死活不进比较器中断
llljh 发表于 2021-4-8 21:54 | 显示全部楼层
开启外部中断21
 楼主| dingy 发表于 2021-4-8 21:56 | 显示全部楼层
开启后程序会卡住
heweibig 发表于 2021-4-8 21:59 | 显示全部楼层
将比较器输出屏蔽掉
zhenykun 发表于 2021-4-8 22:01 | 显示全部楼层

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
wangpe 发表于 2021-4-8 22:04 | 显示全部楼层
不起作用
 楼主| dingy 发表于 2021-4-8 22:06 | 显示全部楼层

  LL_COMP_InitTypeDef COMP_InitStruct = {0};
  LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
  
  LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOA);
  /**COMP1 GPIO Configuration  
  PA1   ------> COMP1_INP
  */
        GPIO_InitStruct.Pin = LL_GPIO_PIN_0;
  GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW;
  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
  GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
  GPIO_InitStruct.Alternate = LL_GPIO_AF_8;
  LL_GPIO_Init(GPIOA, &GPIO_InitStruct);


  GPIO_InitStruct.Pin = LL_GPIO_PIN_1;
  GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
  GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
  LL_GPIO_Init(GPIOA, &GPIO_InitStruct);


  /* COMP1 interrupt Init */
  NVIC_SetPriority(COMP_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),5, 0));
  NVIC_EnableIRQ(COMP_IRQn);

  COMP_InitStruct.PowerMode = LL_COMP_POWERMODE_ULTRALOWPOWER;
  COMP_InitStruct.InputPlus = LL_COMP_INPUT_PLUS_IO1;
  COMP_InitStruct.InputMinus = LL_COMP_INPUT_MINUS_VREFINT;
  COMP_InitStruct.InputHysteresis = LL_COMP_HYSTERESIS_NONE;
  COMP_InitStruct.OutputSelection = LL_COMP_OUTPUT_NONE;
  COMP_InitStruct.OutputPolarity = LL_COMP_OUTPUTPOL_NONINVERTED;
  LL_COMP_Init(COMP1, &COMP_InitStruct);
        
LL_COMP_Enable(COMP1);



void COMP1_2_IRQHandler(void)
{
  /* USER CODE BEGIN COMP_IRQn 0 */

  /* USER CODE END COMP_IRQn 0 */
        printf("\r\nCOMP_IRQHandler");
        //LL_EXTI_ClearFlag_0_31(LL_EXTI_LINE_21);
        //LL_EXTI_DisableIT_0_31(LL_EXTI_LINE_21);
  
  /* USER CODE BEGIN COMP_IRQn 1 */

  /* USER CODE END COMP_IRQn 1 */
}
llljh 发表于 2021-4-8 22:09 | 显示全部楼层

尝试开启外部中断21,开启后程序会卡住。
不知道是怎么卡了,卡在哪里,会不会你的中断服务问题导致的呢
supernan 发表于 2021-4-8 22:12 | 显示全部楼层
cubeF3有个例子
huanghuac 发表于 2021-4-8 22:14 | 显示全部楼层
开启外部中断卡死,检查是否中断标志位清除了;
wyjie 发表于 2021-4-8 22:19 | 显示全部楼层
不进中断 检查下比较器相关的中断使能及NVIC配置正确了;
单片小菜 发表于 2021-4-8 22:19 | 显示全部楼层
你的外部中断干扰的吧,我感觉像,不好弄哦,咋办哦。
chuxh 发表于 2021-4-8 22:22 | 显示全部楼层
COMP是什么呢
llljh 发表于 2021-4-8 22:25 | 显示全部楼层
单步调试的时候看看寄存器状态
 楼主| dingy 发表于 2021-4-8 22:28 | 显示全部楼层
我也不知道comp是什么意思
 楼主| dingy 发表于 2021-4-8 22:30 | 显示全部楼层
STM32F3自带比较器
 楼主| dingy 发表于 2021-4-8 22:33 | 显示全部楼层

其实还是不大明白,我再琢磨琢磨吧,多谢了哈先
heimaojingzhang 发表于 2021-5-6 16:18 | 显示全部楼层
能进入其他中断吗
keaibukelian 发表于 2021-5-6 16:19 | 显示全部楼层
外部干扰严重吗
labasi 发表于 2021-5-6 16:21 | 显示全部楼层
关注一下相关寄存器的状态
您需要登录后才可以回帖 登录 | 注册

本版积分规则

745

主题

10920

帖子

6

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