NXP MCU 技术论坛
直播中

刘艳

7年用户 2254经验值
私信 关注
[问答]

S32K1 GPIO输入,带digitalfilter的下降沿中断,但在init之后进入IRQHandler的原因?

大家好,
我使用的是 S32K1 MCU,我定义了一个输入引脚来检测信号下降沿。
pin_mux.c

剧透 (Highlight to read){
.base = PORTC,
.pinPortidx = 8U,
.pullConfig = PORT_INTERNAL_PULL_NOT_ENABLED,
.driveSelect = PORT_HIGH_DRIVE_STRENGTH,
.passiveFilter = false,
.mux = PORT_MUX_AS_GPIO,
.pinLock = false,
.intConfig = PORT_INT_FALLING_EDGE,
.clearIntFlag = false,
.gpioBase = PTC,
.direction = GPIO_INPUT_DIRECTION,
.digitalFilter = true,
.initValue = 1U,
},
{.base = PORTC,.pinPortIdx = 8U,.pullConfig = PORT_INTERNAL_PULL_NOT_ENABLED,.driveSelect = PORT_HIGH_DRIVE_STRENGTH,.passiveFilter = false,.mux = PORT_MUX_AS_GPIO,.pinLock = false,.intConfig = PORT_INT_FALLING_EDGE,.clearIntFlag = false,.gpioBase = PTC,.direction = GPIO_INPUT_DIRECTION,.digitalFilter = true,.initValue = 1U,},



剧透 (Highlight to read)const port_digital_filter_config_t PTC_filter_Paras={
.clock = PORT_DIGITAL_FILTER_LPO_CLOCK,
.width = 5U,
};
#define PTC_Filter_Conf ((port_digital_filter_config_t*)&PTC_filter_Paras)
static inline void Set_Pin_Interrupt_Filter(void){
PINS_DRV_ConfigDigitalFilter(PORTA, PTA_Filter_Conf);
PINS_DRV_ConfigDigitalFilter(PORTC, PTC_Filter_Conf);
}

const port_digital_filter_config_t PTC_filter_Paras={.clock = PORT_DIGITAL_FILTER_LPO_CLOCK,.width = 5U,};#define PTC_Filter_Conf ((port_digital_filter_config_t*)&PTC_filter_Paras)static inline void Set_Pin_Interrupt_Filter(void){PINS_DRV_ConfigDigitalFilter(PORTA, PTA_Filter_Conf);PINS_DRV_ConfigDigitalFilter(PORTC, PTC_Filter_Conf);}



剧透 (Highlight to read)void PORTC_IRQHandler(void){
FLT_OVP_VBUS_Handler();//Check the PTC8 interrupt enabled or not
PINS_DRV_ClearPortIntFlagCmd(PORTC);
}
void PORTC_IRQHandler(void){FLT_OVP_VBUS_Handler();//Check the PTC8 interrupt enabled or notPINS_DRV_ClearPortIntFlagCmd(PORTC);}



我在 PORTC_IRQHandler 中添加了一个断点。
管脚和管脚过滤器初始化后,然后触发PORTC_IRQHandler(),但我用示波器 测量输入信号一直为高电平,没有下降沿退出。
同时,寄存器数据:
PORTC/ISFR,0x4004B0A0,0x00000 1 00
PTC/PDIR,0x400FF090,0x00024 1 30
PTC8/PDIR 为 High 但 PORTC8/ISFR 为 High,这不是预期的动作,如何设置此引脚?

回帖(1)

相当胡安

2023-11-7 20:10:43
可以在使能中断和注册中断函数之前 先把中断标志清一下 不然好像就是会进一次中断
举报

更多回帖

发帖
×
20
完善资料,
赚取积分