love2008 发表于 2023-8-12 16:51

HC32L196 捕捉问题

PA08设置为TIM3_CH0A, 设置上升沿和下降沿捕捉中断,但是中断后没有相关上升沿和下降沿的中断标志,应该怎么判断?代码如下:
void Tim3_IRQHandler(void)
{
    static uint8_t i;
   
    //Timer3 捕获中断A
    if(TRUE == Tim3_GetIntFlag(Tim3CA0Irq))
    {
      if(0 == i)
      {
            Tim3_Capture_Value1 = M0P_TIM3_MODE23->CCR0A_f.CCR0A;   //第一次读取捕获值
            Tim3_Uev_Cnt = 0;
            i++;
      }
      else
      {
            Tim3_Capure_Value2 = M0P_TIM3_MODE23->CCR0A_f.CCR0A;//第二次读取捕获值
            Tim3_Capture_Value = Tim3_Uev_Cnt * 0xFFFF + Tim3_Capure_Value2 - Tim3_Capture_Value1;//两次捕获之间的差值
            
            Tim3_Uev_Cnt = 0;
            
            i = 0;
      }
      
      Tim3_ClearIntFlag(Tim3CA0Irq);//清中断标志
    }
   
    //timer3计数溢出中断
    if(TRUE == Tim3_GetIntFlag(Tim3UevIrq))
    {
      Tim3_Uev_Cnt++;
      Tim3_ClearIntFlag(Tim3UevIrq);
    }
}

supernan 发表于 2023-8-13 19:21

没遇到过

chenqianqian 发表于 2023-8-14 08:22

不会啊,都进入中断了?

yang377156216 发表于 2023-8-14 10:20

没有对应的上升沿或者下降沿标志,其它家也没有的,需要自己做逻辑运算,参考 st 的 ir接收处理。

martinhu 发表于 2023-8-15 15:37

中断里面读取CH0A电平吧,判断当前是高电平还是低电平

tpgf 发表于 2023-9-11 09:57

楼主的意思是能进入中断 但是不知道是什么原因产生的中断?

磨砂 发表于 2023-9-11 10:08

上升沿和下降沿的中断标志是能区分开的吗

八层楼 发表于 2023-9-11 10:37

楼主这个用的也不是中断模式啊这不是轮询吗

观海 发表于 2023-9-11 11:27

这种方式非常容易导致一些信号没有捕捉到

guanjiaer 发表于 2023-9-11 12:00

在寄存器里边有上升沿和下降沿的区别吗

晓伍 发表于 2023-9-11 18:06

进入中断后直接读一下中断标志位就知道了呀

晓伍 发表于 2023-9-11 18:06

在中断函数中是否可以设置进入中断的门槛啊
页: [1]
查看完整版本: HC32L196 捕捉问题