【读书笔记】EXTI外部中断 实例
来源:互联网 发布:dlp数据防泄密 知乎 编辑:程序博客网 时间:2024/06/05 17:00
本次使用开发板:
STM32f2XX系列
本次勾选的驱动列表如下:
- Core
- Startup
- Framework ---包含msci,h、stm32f2xx_conf.h,不需要额外copy文件
- RCC ---包含GPIO时钟和 SYSCFG时钟,SYSCFG时钟是因为配置中断源需要
- GPIO ----指示灯、按键
- EXTI ---外部中断,本次主角
- SYSCFG --主要配置GPIOX引脚作为中断输入源
stm32f2xx_exti.c中记载了EXTI驱动的使用方法:
main文件如下:
#include "stm32f2xx_conf.h"//按键对应引脚是PD7//LED灯对应引脚是PC4void BSP_LED_Init(){GPIO_InitTypeDef GPIOInitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC ,ENABLE);GPIOInitStructure.GPIO_Mode = GPIO_Mode_OUT;GPIOInitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIOInitStructure.GPIO_OType = GPIO_OType_PP;GPIOInitStructure.GPIO_Pin = GPIO_Pin_4;GPIO_Init(GPIOC,&GPIOInitStructure);}void BSP_EXTI_Init(){ EXTI_InitTypeDef EXTIInitStructure; GPIO_InitTypeDef GPIOInitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD ,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); GPIOInitStructure.GPIO_Mode = GPIO_Mode_IN; GPIOInitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIOInitStructure.GPIO_Pin = GPIO_Pin_7; GPIO_Init(GPIOD,&GPIOInitStructure); //配置PD7为中断输入源,需启用SYSCFG时钟 SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOD,EXTI_PinSource7); EXTIInitStructure.EXTI_Line = EXTI_Line7; EXTIInitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTIInitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTIInitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTIInitStructure);}void EXTI9_5_IRQHandler(void){ if(RESET != EXTI_GetFlagStatus(EXTI_Line7) ) { EXTI_ClearITPendingBit(EXTI_Line7); GPIO_ToggleBits(GPIOC,GPIO_Pin_4); }}void BSP_NVIC_Init(){ NVIC_InitTypeDef NVICInitStructure; NVICInitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; NVICInitStructure.NVIC_IRQChannelCmd = ENABLE; NVICInitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVICInitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_Init(&NVICInitStructure);}int main(void){ BSP_LED_Init(); BSP_EXTI_Init(); BSP_NVIC_Init(); GPIO_SetBits(GPIOC,GPIO_Pin_4); while(1) { }}
0 0
- 【读书笔记】EXTI外部中断 实例
- 外部中断EXTI
- EXTI外部中断
- STM32 EXTI外部中断
- EXTI中断程序实例
- stm32之外部中断EXTI
- Stm32 外部中断EXTI使用说明
- Stm32 外部中断EXTI使用说明
- STM32之外部中断 EXTI
- STM32--EXTI(外部中断)
- STM32的外部中断EXTI开发总结
- STM32单片机----外部中断EXTI学习
- STM32之EXTI——外部中断
- STM32之EXTI——外部中断
- STM32之EXTI——外部中断
- STM32之EXTI——外部中断
- 外部中断EXTI的配置注意事项
- stm32 EXTI中断BUG,无法进入外部中断的问题
- eclipse下搭建Android开发环境
- Android 属性动画(Property Animation) 完全解析 (下)
- C 语言 类型强制转换问题
- 备忘录模式
- ARRAY in mysql
- 【读书笔记】EXTI外部中断 实例
- 块元素,行内元素以及可替换与不可替换元素
- C语言,数组,数组名,数组地址
- 一 spring源码分析--- IOC容器
- html5 拖拽
- prototype与__proto__的联系与区别
- 数据库索引的原理
- c#访问修饰符
- 欢迎进群大家以后一起交流 CSharp、.Net技术交流群 242497960