打印
[国产单片机]

赛元芯片 2个GPIO引脚边沿触发 计脉冲数 异常。

[复制链接]
247|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hzocce|  楼主 | 2025-5-29 15:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hzocce 于 2025-5-29 17:14 编辑

void gpioinit(void)
{
        GPIO_Init(GPIO2,GPIO_PIN_3, GPIO_MODE_IN_PU);                                //
        EXTI_SetExtInt2xTriggerMode(INT23, EXTI_TRIGGER_FALL_ONLY);
        EXTI_ITConfig(INT2, ENABLE, HIGH);        //INT0,//EXTI_ITConfig(INT2, ENABLE, LOW);        //INT0,
        
        
        GPIO_Init(GPIO2,GPIO_PIN_2, GPIO_MODE_IN_PU);                                //
        EXTI_SetExtInt2xTriggerMode(INT22, EXTI_TRIGGER_FALL_ONLY);
        EXTI_ITConfig(INT2, ENABLE, HIGH);        //INT0,
}

然后在同一中断里面通过查询方式,是否在此引脚? 对么?
void EXTI2Interrupt()                interrupt 10
{
        
        if(!GPIO_ReadPin(GPIO2, GPIO_PIN_2))
        {
                lPulseCount_p22++;
        };
        

  if(!GPIO_ReadPin(GPIO2, GPIO_PIN_3))
        {
                lPulseCount_p23++++;

        };



}

使用特权

评论回复

相关帖子

沙发
hzocce|  楼主 | 2025-5-29 16:00 | 只看该作者
其中P22接的是AC电机的霍尔脉冲,P23是另外个电机的霍尔脉冲数。

当P22对应的设备电机没有运行的时候, lPulseCount_p23是准的,但是当P22对应的电机转动起来周,lPulseCount_p23的数值就乱跳了。

求指导

使用特权

评论回复
板凳
hzocce|  楼主 | 2025-5-29 16:00 | 只看该作者
其中P22接的是AC电机的霍尔脉冲,P23是另外个电机的霍尔脉冲数。

当P22对应的设备电机没有运行的时候, lPulseCount_p23是准的,但是当P22对应的电机转动起来周,lPulseCount_p23的数值就乱跳了。

求指导

使用特权

评论回复
地板
hzocce|  楼主 | 2025-5-29 17:14 | 只看该作者
GPIO 设成高阻,上拉 都 一样,其中一个影响了另外一个。

使用特权

评论回复
5
dffzh| | 2025-5-30 09:05 | 只看该作者
本帖最后由 dffzh 于 2025-5-30 09:07 编辑

两个GPIO的下降沿中断为什么是在同一个外部中断里处理的呀?不是各有自己的外部中断向量表吗?
本人没用过这款MCU;你这样设计,两个电机在同时工作的时候,估计也会丢脉冲吧。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

133

主题

617

帖子

4

粉丝