[STM32F1] 控制可控硅调整亮度,无法进入中断

[复制链接]
876|5
 楼主| 175192387 发表于 2019-4-4 21:40 | 显示全部楼层 |阅读模式
本帖最后由 175192387 于 2019-4-4 21:48 编辑

过零检测电路,设置了过零中断,我发现程序一直未进入中断。

过零检测电路

过零检测电路

1554385585(1).png 这是示波器的图
  1. void EXTIX_Init(void)
  2. {

  3.         EXTI_InitTypeDef EXTI_InitStructure;
  4.         NVIC_InitTypeDef NVIC_InitStructure;
  5.     KEY_Init();         //        按键端口初始化
  6.           RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);        //使能复用功能时钟
  7.     //GPIOB.14 中断线以及中断初始化配置   
  8.           GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource14);
  9.           EXTI_InitStructure.EXTI_Line=EXTI_Line14;       
  10.           EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;       
  11.           EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
  12.           EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  13.           EXTI_Init(&EXTI_InitStructure);                 //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器
  14.          
  15.         NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;       
  16.           NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;        //抢占优先级2,
  17.           NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;                                        //子优先级3
  18.           NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                                                                //使能外部中断通道
  19.           NVIC_Init(&NVIC_InitStructure);  
  20. }

  21. //外部中断0服务程序
  22. void EXTI15_10_IRQHandler(void)
  23. {               
  24.         if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)==1)
  25.         {
  26.                 UPWM=1;       
  27.                 EXTI_ClearITPendingBit(EXTI_Line14);
  28.         }
  29.         if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)==0)       
  30.         {
  31.                 num=0;
  32.                 TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE); //开启定时器中断
  33.                 EXTI_ClearITPendingBit(EXTI_Line14);
  34.         }  
  35. }


airwill 发表于 2019-4-6 09:34 | 显示全部楼层
既然示波器都已经检测到过零信号了,  那说明只是软件的问题了.
为了避免软件其他地方引起的寄存器修改, 你可以在运行中停止, 调试器分析 EXTI 等外设寄存器的设置, 检查是否正常
磨砂 发表于 2019-5-5 12:58 | 显示全部楼层
中断使能了吗
晓伍 发表于 2019-5-5 13:01 | 显示全部楼层
中断向量指过去了吗
八层楼 发表于 2019-5-5 13:12 | 显示全部楼层
中断向量的问题吧
观海 发表于 2019-5-5 13:18 | 显示全部楼层
软件问题 看看能不能进入最开始的中断
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

22

帖子

0

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