[STM32F3] STM32F3 COMP不进中断

[复制链接]
1703|9
 楼主| 42923277 发表于 2019-3-19 14:39 | 显示全部楼层 |阅读模式
  使用STM32F3的COMP1,外部信号可以引发比较器输出反转. 但死活不进比较器中断.我尝试开启外部中断21,开启后程序会卡住。有没有用过这个功能的帮忙分析下。我将比较器输出屏蔽掉也不起作用。

  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 */
}
零三翟邢止胃 发表于 2019-3-20 11:48 | 显示全部楼层
帮你顶住啊!!!!!
 楼主| 42923277 发表于 2019-3-20 13:49 | 显示全部楼层
零三翟邢止胃 发表于 2019-3-20 11:48
帮你顶住啊!!!!!

太感谢了
airwill 发表于 2019-3-20 22:15 | 显示全部楼层
尝试开启外部中断21,开启后程序会卡住。
不知道是怎么卡了,卡在哪里,会不会你的中断服务问题导致的呢
小明的同学 发表于 2019-3-21 22:11 | 显示全部楼层
cubeF3有个例子
香水城 发表于 2019-3-25 12:25 | 显示全部楼层
开启外部中断卡死,检查是否中断标志位清除了;
不进中断 检查下比较器相关的中断使能及NVIC配置正确了;
heimaojingzhang 发表于 2019-4-8 13:01 | 显示全部楼层
COMP是什么呢
keaibukelian 发表于 2019-4-8 13:03 | 显示全部楼层
单步调试的时候看看寄存器状态
labasi 发表于 2019-4-9 08:34 | 显示全部楼层
我也不知道comp是什么意思
 楼主| 42923277 发表于 2019-5-16 19:28 | 显示全部楼层
STM32F3自带比较器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

81

帖子

0

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