[技术问答] gpio中断进不去是啥问题?

[复制链接]
4148|18
 楼主| WUZHIXIONG23 发表于 2024-5-22 09:21 | 显示全部楼层 |阅读模式
uint8_t SX1320INT=0,SX1320INTlock=0;
void Gpio_IRQHandler(uint8_t u8Param)
{

    if(0 == u8Param)
        {
               if (TRUE == Gpio_GetIrqStatus(GpioPortA, GpioPin4))
                        {
                               SX1320INT=1;
                                SX1320INTlock=1;
                                Gpio_ClearIrq(GpioPortA, GpioPin4);
                         }               
        }
}  
void GPIO_Init(void)
{   
          stc_gpio_config_t stcGpioCfg;
          
          DDL_ZERO_STRUCT(stcGpioCfg);
          
          Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio,TRUE);//使能GPIO模块时钟
          stcGpioCfg.enDir = GpioDirIn;///< 端口方向配置->输入
          stcGpioCfg.enDrv = GpioDrvH;///< 端口驱动能力配置->高驱动能力
          stcGpioCfg.enPuPd = GpioNoPuPd;///< 端口上下拉配置->无上下拉
          stcGpioCfg.enOD = GpioOdDisable;///< 端口开漏输出配置->开漏输出关闭
          stcGpioCfg.enCtrlMode = GpioAHB;///< 端口输入/输出值寄存器总线控制模式配置->AHB
         Gpio_Init(GpioPortA, GpioPin4, &stcGpioCfg);
         Gpio_ClearIrq(GpioPortA, GpioPin4);
         Gpio_EnableIrq(GpioPortA, GpioPin4, GpioIrqFalling);///< 打开并配置PB04为下降沿中断
          EnableNvic(PORTA_IRQn, IrqLevel0, TRUE);///< 使能端口PORTA系统中断
}
wubangmi 发表于 2024-5-22 11:17 | 显示全部楼层
脱离了硬件谈软件,感觉有点困难。
要不你开个内部上拉试试??
芯路例程 发表于 2024-5-23 16:48 | 显示全部楼层
建议把电路也放上来看看,这样好分析问题。
LinkMe 发表于 2024-5-23 18:02 | 显示全部楼层
可以调试看一下具体问题在哪。寄存器的情况
lidi911 发表于 2024-5-24 08:01 来自手机 | 显示全部楼层
用示波器量一下IO电平是否发生变化
 楼主| WUZHIXIONG23 发表于 2024-5-24 08:16 | 显示全部楼层
wubangmi 发表于 2024-5-22 11:17
脱离了硬件谈软件,感觉有点困难。
要不你开个内部上拉试试??

确实是硬件问题
亚瑟 发表于 2024-6-28 20:53 | 显示全部楼层
看一下电路是不有问题
CarterERO 发表于 2024-6-28 22:18 | 显示全部楼层
中断有没有配置好啊?
发货后已经wi 发表于 2024-8-28 18:35 | 显示全部楼层
GPIO中断进不去的原因可能有多种,通常涉及到中断配置、硬件连接以及软件逻辑等多个方面。
两只袜子 发表于 2024-9-10 14:30 | 显示全部楼层
检查引脚配置
elephant00 发表于 2024-9-10 14:32 | 显示全部楼层
检查是不是中断向量表配置错误
jcky001 发表于 2024-9-10 16:12 | 显示全部楼层
中断使能未设置?
cr315 发表于 2024-9-10 20:06 | 显示全部楼层
中断优先级设置不合适?
duo点 发表于 2024-9-10 21:47 | 显示全部楼层
软件或固件问题
onlycook 发表于 2024-9-10 22:26 | 显示全部楼层
硬件故障
onlycook 发表于 2024-9-10 23:00 | 显示全部楼层
检查微控制器的电源是否稳定,电压是否在正常范围内。
suncat0504 发表于 2024-9-13 21:33 | 显示全部楼层
首先可以使用循环输出日志方式,循环检查端口的电平变化。防止你以为变化了,实际没变化的情况。如果程序检查有变化,那就进一步检查中断相关设置,比如对应的总线时钟是否被允许工作了,中断是否被允许了等。最好看看例程中对于GPIO口中断处理的细节,复制过来试试。
更多更合适ii 发表于 2024-9-30 17:34 来自手机 | 显示全部楼层
设置的是下降沿中断,就得确认信号确实是下降沿。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

70

主题

233

帖子

2

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