首先看一下这个寄存器的 配置。
在代码中的配置过程
- //配置中断滤波
- GPIO_ConfigFilter(CW_GPIOA, bv1, GPIO_FLTCLK_RC150K);
查看一下配置函数
- //=============================================================================
- //配置端口滤波
- // FltClk 只能是宏定义中定义的参数
- /**
- * [url=home.php?mod=space&uid=247401]@brief[/url] 配置端口滤波
- *
- * @param GPIOx 参数为下列参数之一:
- * [url=home.php?mod=space&uid=2817080]@ARG[/url] CW_GPIOA CW_GPIOB CW_GPIOC CW_GPIOF
- * @param GPIO_Pins
- * @param FltClk 只能是宏定义中定义的参数 GPIO_FLTCLK_xxx
- */
- void GPIO_ConfigFilter( GPIO_TypeDef* GPIOx, uint16_t GPIO_Pins, uint32_t FltClk )
- {
- GPIOx->FILTER = FltClk | GPIO_Pins;
- }
响应的代码
- void GPIOA_IRQHandlerCallback(void)
- {
- if (CW_GPIOA->ISR_f.PIN1)
- {
- GPIOA_INTFLAG_CLR(bv1);
- PB09_TOG();
- }
- if (CW_GPIOA->ISR_f.PIN2)
- {
- GPIOA_INTFLAG_CLR(bv2);
- PB08_TOG();
- }
- }
|