STM32L152 外部中断配置
来源:互联网 发布:诺基亚n8软件专区 编辑:程序博客网 时间:2024/06/05 01:04
STM32L152 中断配置
1、中断配置
以外部中断0,管脚为PA0为例来进行配置
void SYS_EXTI0Init(void) { GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; //初始化PA0管脚 /* Enable GPIOA clock */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);//打开PA口时钟 /* Configure PA0 pin as input floating */ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//输入 GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;//浮空,不上拉不下拉 GPIO_InitStructure.GPIO_Pin = KEY_PIN;//管脚 GPIO_Init(KEY_PORT, &GPIO_InitStructure);//初始化 /* Enable SYSCFG clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); /* Connect EXTI0 Line to PA0 pin */ SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0); /* Configure EXTI0 line */ EXTI_InitStructure.EXTI_Line = EXTI_Line0;//中断线0 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;//外部中断 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;//下降沿触发 EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure);//初始化 /* Enable and set EXTI0 Interrupt to the lowest priority */ NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;//外部中断0类型 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);}
2、中断服务子程序编写
中断服务子程序的函数名是已经定义好了,在固件库中中断文件中这样子说明:
在startup_stm32l1xx_mdp.s 文件中,中断函数名如下定义:
; External Interrupts DCD WWDG_IRQHandler ; Window Watchdog DCD PVD_IRQHandler ; PVD through EXTI Line detect DCD TAMPER_STAMP_IRQHandler ; Tamper and Time Stamp DCD RTC_WKUP_IRQHandler ; RTC Wakeup DCD FLASH_IRQHandler ; FLASH DCD RCC_IRQHandler ; RCC DCD EXTI0_IRQHandler ; EXTI Line 0 DCD EXTI1_IRQHandler ; EXTI Line 1 DCD EXTI2_IRQHandler ; EXTI Line 2 DCD EXTI3_IRQHandler ; EXTI Line 3 DCD EXTI4_IRQHandler ; EXTI Line 4 DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 DCD ADC1_IRQHandler ; ADC1 DCD USB_HP_IRQHandler ; USB High Priority DCD USB_LP_IRQHandler ; USB Low Priority DCD DAC_IRQHandler ; DAC DCD COMP_IRQHandler ; COMP through EXTI Line DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 DCD LCD_IRQHandler ; LCD DCD TIM9_IRQHandler ; TIM9 DCD TIM10_IRQHandler ; TIM10 DCD TIM11_IRQHandler ; TIM11 DCD TIM2_IRQHandler ; TIM2 DCD TIM3_IRQHandler ; TIM3 DCD TIM4_IRQHandler ; TIM4 DCD I2C1_EV_IRQHandler ; I2C1 Event DCD I2C1_ER_IRQHandler ; I2C1 Error DCD I2C2_EV_IRQHandler ; I2C2 Event DCD I2C2_ER_IRQHandler ; I2C2 Error DCD SPI1_IRQHandler ; SPI1 DCD SPI2_IRQHandler ; SPI2 DCD USART1_IRQHandler ; USART1 DCD USART2_IRQHandler ; USART2 DCD USART3_IRQHandler ; USART3 DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI Line DCD USB_FS_WKUP_IRQHandler ; USB FS Wakeup from suspend DCD TIM6_IRQHandler ; TIM6 DCD TIM7_IRQHandler ; TIM7 DCD 0 ; Reserved DCD TIM5_IRQHandler ; TIM5 DCD SPI3_IRQHandler ; SPI3 DCD 0 ; Reserved DCD 0 ; Reserved DCD DMA2_Channel1_IRQHandler ; DMA2 Channel 1 DCD DMA2_Channel2_IRQHandler ; DMA2 Channel 2 DCD DMA2_Channel3_IRQHandler ; DMA2 Channel 3 DCD DMA2_Channel4_IRQHandler ; DMA2 Channel 4 DCD DMA2_Channel5_IRQHandler ; DMA2 Channel 5 DCD AES_IRQHandler ; AES DCD COMP_ACQ_IRQHandler ; Comparator Channel Acquisition
使用上面的对应的中断函数名来编写相对应的程序
0 0
- STM32L152 外部中断配置
- stm32外部中断配置
- 外部中断的配置
- STM32L152 RTC 日历和定时中断使用
- STM32的外部中断配置
- STM32的外部中断配置
- STM32 外部GPIO中断配置
- 外部中断0的配置
- stm32外部中断寄存器配置分析
- 28335GPIO及外部中断配置介绍
- 多外部中断的优先级配置
- 外部中断EXTI的配置注意事项
- 2440外部中断配置全攻略------有中断向量表
- 外部中断配置和操作(中断优先级分组)
- 外部中断
- 外部中断
- 外部中断
- 外部中断
- deeplab script---python
- ISIS学习笔记
- C/C++关键字const作用总结
- UVa 11401 Triangle Counting
- Python入门
- STM32L152 外部中断配置
- TNS:connection closed
- linux下解决没有权限进入phpmyadmin问题
- 【编程马拉松】【007-循环数】
- 柴俊理金:6月1号早间现货黄金,宁贵沥青操作建议
- Example 1 : A Single Sample Ray Tracer
- 程序员批注《语言学教程》——第一章 语言学导论
- LeetCode 051 N-Queens
- LeetCode 052 N-Queens II