尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

FM33L023D外部中断

FM33L023D外部中断 FM33L023D的外部中断对应STM32系列MCU的GPIO中断STM32系列芯片gpio中断与引脚的关系是一对一FM33L023D芯片一个外部中断对应多个引脚但同时只有一个引脚起作用。中断方面都有上升沿、下降沿、双边沿中断。相对于STM32系列MCUFM33L023D没有电平触发中断。此外FM33L023D对引脚组的说明不明确。引脚配置EXTIexternal interrupt功能引脚配置无外乎将引脚设置为输入模式开启引脚复用。引脚上拉、下拉模式配置需要参考引脚外部电路在外部上拉的情况下不能配置为下拉。否则相当于电源和地导通如果引脚连接内部电阻小相当于短路如果连接内部电阻大则会增加系统功耗。drivestrength则是控制引脚电流驱动能力slewrate 则是控制引脚驱动速度多用于开关控制。FL_GPIO_InitTypeDef GPIO_InitStruct {0}; FL_EXTI_InitTypeDef extiInitStruct {0}; FL_EXTI_CommonInitTypeDef extiCommonInitStruct {0}; FL_RCC_EnableEXTIOnSleep();//休眠使能外部中断采样 //EXTI中断采样时钟选择 extiCommonInitStruct.clockSource FL_RCC_EXTI_SAMPLING_CLK_AHBCLK; FL_EXTI_CommonInit(extiCommonInitStruct); //用到的GPIO引脚 设为输入 GPIO_InitStruct.pin FL_GPIO_PIN_8; GPIO_InitStruct.mode FL_GPIO_MODE_INPUT; GPIO_InitStruct.outputType FL_GPIO_OUTPUT_PUSHPULL; GPIO_InitStruct.pull FL_GPIO_PULLUP_ENABLE; GPIO_InitStruct.remapPin FL_ENABLE; GPIO_InitStruct.drivestrength FL_GPIO_DRIVESTRENGTH_HIGH; GPIO_InitStruct.slewrate FL_GPIO_SLEWRATE_HIGH; (void)FL_GPIO_Init(GPIOA, GPIO_InitStruct); //引脚滤波 如果此引脚有滤波功能,并需要滤波的话可以开启 FL_GPIO_EnableIODF(GPIO, FL_GPIO_IOA_PA8);中断配置EXTI中断配置时需要区分引脚组、外部中断线每个中断线包含的引脚可以从表格中确定中断组则是依据表格中GPIO出现的顺序确定。EXTI0[0]中断线可选4个引脚0-3号中断组对应引脚分别为PA0、PA8、PB0、PB8。中断边沿配置、引脚选择见GPIO EXTI Select x寄存器高16位配置边沿低16位配置引脚。以PA8引脚为例属于EXTI0模块0号中断线所以传参为FL_GPIO_EXTI0_LINE_1extiInitStruct.input 选择为FL_GPIO_EXTI_INPUT_GROUP1。//IO中断 extiInitStruct.input FL_GPIO_EXTI_INPUT_GROUP1; //中断线上对应的IO extiInitStruct.triggerEdge FL_GPIO_EXTI_TRIGGER_EDGE_BOTH; //设置触发边沿 FL_EXTI_Init(FL_GPIO_EXTI0_LINE_1,extiInitStruct); /*NVIC中断配置*/ NVIC_DisableIRQ(GPIO_IRQn); NVIC_SetPriority(GPIO_IRQn, 2); //中断优先级配置 NVIC_EnableIRQ(GPIO_IRQn);
返回列表