2023年STM32F4学习笔记之EXTI中断使用固件库.doc

上传人:hs****ma 文档编号:547727216 上传时间:2023-10-13 格式:DOC 页数:9 大小:24.04KB
返回 下载 相关 举报
2023年STM32F4学习笔记之EXTI中断使用固件库.doc_第1页
第1页 / 共9页
2023年STM32F4学习笔记之EXTI中断使用固件库.doc_第2页
第2页 / 共9页
2023年STM32F4学习笔记之EXTI中断使用固件库.doc_第3页
第3页 / 共9页
2023年STM32F4学习笔记之EXTI中断使用固件库.doc_第4页
第4页 / 共9页
2023年STM32F4学习笔记之EXTI中断使用固件库.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《2023年STM32F4学习笔记之EXTI中断使用固件库.doc》由会员分享,可在线阅读,更多相关《2023年STM32F4学习笔记之EXTI中断使用固件库.doc(9页珍藏版)》请在金锄头文库上搜索。

1、1.使能SYSSCFG和对应GPIO时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOx, ENABLE);2.配置对应GPIO为输入模式 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_x; GPIO_Init(GPIOx,&GP

2、IO_InitStructure);3.配置对应GPIO为EXIT线 SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOx, EXTI_PinSourcex); 4.配置EXIT旳工作参数 EXTI_InitStructure.EXTI_Line = EXTI_Linex; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;/中断,EXTI_Mode_Event为事件 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;/下降沿,EXTI_Trigger

3、_Rising为上升沿,EXTI_Trigger_Rising_Falling双跳边缘 EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure);5.配置NVIC中旳EXTI中断线 NVIC_InitStructure.NVIC_IRQChannel = EXTIx_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = xx; NVIC_InitStructure.NVIC_IRQChannelSubPriority = xx; NVIC_

4、InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); 程序举例:int main(void) GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GP

5、IOC, ENABLE); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 ; /led GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO

6、_Speed = GPIO_Speed_100MHz; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOF, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_5; GPIO_Init(GPIOA,&GPIO_InitStructure

7、); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; GPIO_Init(GPIOC,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; GPIO_Init(GPIOF,&GPIO_InitStructure); SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0); EXTI_InitStructure.EXTI_Line = EXTI_Line0; EXTI_InitStructure.EXTI_Mode =

8、 EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F;/优先级最低 NVIC_InitStructure.NVIC_IRQChann

9、elSubPriority = 0x0F; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource5); EXTI_InitStructure.EXTI_Line = EXTI_Line5; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Tr

10、igger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F;/优先级最低 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; NVIC_InitStructure.NVIC_IRQChannelCmd =

11、 ENABLE; NVIC_Init(&NVIC_InitStructure); SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOF, EXTI_PinSource11); EXTI_InitStructure.EXTI_Line = EXTI_Line11; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EX

12、TI_Init(&EXTI_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F;/优先级最低 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); SYSCFG_EXTILineC

13、onfig(EXTI_PortSourceGPIOC, EXTI_PinSource13); EXTI_InitStructure.EXTI_Line = EXTI_Line13; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F;/优先级最低 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); GPIO_SetBits(GPIOF, GPIO_Pin_7 | GPI

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 项目/工程管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号