




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
退出嵌入式单片机原理及应用电气工程学院仪器科学与工程系退出嵌入式单片机原理及应用电气工程学院仪器科学与工程系1ARM嵌入式系统概述2STM32单片机结构和最小系统
3基于标准外设库的C语言程序设计基础
4STM32通用输入输出GPIO5STM32外部中断6STM32通用定时器7STM32通用同步/异步收发器USART8直接存储器存取DMA9STM32的模数转换器ADC10STM32的集成电路总线I2C11STM32的串行外设接口SPI1ARM嵌入式系统概述第5章STM32单片机外部中断5.1中断相关概念5.2STM32F103中断系统组成5.3中断控制5.4中断执行过程和中断嵌套5.5STM32外部中断应用设计退出第5章STM32单片机外部中断5.1中断相关概念退出5.1中断的相关概念
中断:单片机执行主程序时,由于某个事件的原因,暂停主程序的执行,调用相应的程序处理该事件,处理完毕后再自动继续执行主程序的过程。
中断的优先级:由中断的嵌套可以看出,不同事件的重要程度不同。重要的事件可以打断相对不重要的事件的处理,用户可以根据自己的需求对不同的事件设定重要级别,称为中断的优先级。
中断的嵌套:如果在执行一个中断时又被另一个更重要的事件打断,暂停该中断处理过程转去处理这个更重要的事件,处理完毕后再继续处理本中断的过程,叫作中断的嵌套。
中断源:可以引起中断的事件称为中断源。5.1中断的相关概念中断:单片机执行主程序时,由于某个事5.1中断的相关概念中断服务程序与中断向量:为了处理中断而编写的程序称为中断服务程序,对应中断服务程序的入口地址被称为中断向量。中断请求、中断响应、中断处理及中断返回:中断源对主程序或中断服务程序提出中断要求,叫作中断请求;主程序或中断服务程序接受中断请求,进入中断服务程序的过程叫作中断响应;执行中断服务程序的过程叫作中断处理;中断服务程序执行完毕后回到主程序或者次一级别中断服务程序的过程叫作中断返回。中断处理的整个过程包含了中断请求、中断响应、中断处理及中断返回四个步骤。中断系统:实现中断处理功能的软件、硬件系统称为中断系统。5.1中断的相关概念中断服务程序与中断向量:为了处理中断而5.2STM32F103中断系统组成5.2.1中断源STM32F103中断系统提供10个系统异常和60个可屏蔽中断(STM32F107系列为68个)源,具有16个中断优先级。可屏蔽中断源包括:外部中断、定时器中断、串口中断直接内存访问中断模数转换中断集成电路总线中断串行外设接口中断等。5.2STM32F103中断系统组成5.2.1中断源5.2.1中断源
ARMCoetex-M3内核共支持256个中断,其中16个内部中断,240个外部中断和可编程的256级中断优先级的设置。STM32目前支持的中断共84个(16个内部+68个外部),还有16级可编程的中断优先级的设置,仅使用中断优先级设置8bit中的高4位。
5.2.1中断源
ARMCoetex第5章stm32单片机外部中断ppt课件5.2.2中断向量:表5-1给出STM32F103中断向量表5.2.2中断向量:表5-1给出STM32F103中断向复合中断源复合中断源单独中断源复合中断源复合中断源单独中断源第5章stm32单片机外部中断ppt课件5.2.3中断控制器NVIC为中断总开关:支持68个可屏蔽中断。提供16个可编程的优先级,支持中断嵌套,提供向量中断处理机制等功能。中断发生时,自动获得服务例程入口地址并直接调用,无需软件判定中断源。主要包括:中断设置允许寄存器(NVIC_ISER)中断清除允许寄存器(NVIC_ICER)中断设置挂起寄存器(NVIC_ISPR)中断清除挂起寄存器(NVIC_ICPR)中断状态寄存器(NVIC_IABR)控制。5.2.3中断控制器NVIC为中断总开关:支持68个可屏蔽5.2.3中断控制器与NVIC相关的寄存器在“stm32f10x_map.h”文件中定义了一个结构体,结构体的内容如下STM32F103系列单片机的中断系统在这些寄存器的控制下有序执行。了解这些中断寄存器的含义,才能更好的理解STM32单片机中断系统的工作原理typedefstruct{vu32ISER[2];u32RESERVED0[30];vu32ICER[2];u32RESERVED1[30];vu32ISPR[2];u32RESERVED2[30];vu32ICPR[2];u32RESERVED3[30];vu32IABR[2];u32RESERVED4[30];vu32IPR[15];}NVIC_TypeDef5.2.3中断控制器与NVIC相关的寄存器在“stm32f5.2.3中断控制器ISER[2]:ISER全称是:InterruptSet-EnableRegisters,中断使能寄存器组。STM32F103系列的单片机可屏蔽外部中断有60个,用2个32位的ISER寄存器来表示,这2个32位的寄存器总共可以表示64个外部中断。而STM32F103系列单片机只用了ISER寄存器其中的前60位。ISER[0]的bit0~bit31分别对应是外部中断0~31。ISER[1]的bit0~27对应外部中断32~59;这样总共60个外部中断就分别对应上了。使能某个中断,必须设置相应的ISER位为15.2.3中断控制器ISER[2]:ISER全称是:Int5.2.3中断控制器ICER[2]:全称InterruptClear-EnableRegisters,是一个中断清除使能寄存器组。该寄存器组与ISER寄存器功能相反,用来清除某个中断的使能位。由于NVIC的这些寄存器都是写1有效的,写0是无效的。设置一组ICER寄存器来清除相应中断使能位。ISPR[2]:全称InterruptSet-PendingRegisters,是一个中断挂起控制寄存器组。每个位对应的外部中断和ISER内容是一样的。通过向相应的位写1,可以将正在执行的中断挂起,去执行同级或更高级别的中断。向这个寄存器组写0是无效的。5.2.3中断控制器ICER[2]:全称Interrupt5.2.3中断控制器ICPR[2]:全称InterruptClear-PendingRegisters,是单片机的中断解挂寄存器组。其功能和ISPR寄存器相反,对应位的内容也和ISER寄存器是一样的。通过写1,可以将相应的中断解挂。写0无效。IABR[2]:全称InterruptActiveBitRegisters,单片机中断激活标志位寄存器组。它是一个只读寄存器,CPU通过读取这个寄存器的相应位就可以知道当前有哪些中断正在执行。在相应的中断执行完成以后由硬件自动清零。对应位所代表的中断内容和ISER一样,如果相应位为1,则表示该位所对应的中断正在被执行。5.2.3中断控制器ICPR[2]:全称Interrupt5.2.3中断控制器IPR[15]:全称InterruptPriorityRegisters,是一个中断优先级控制的寄存器组。这个寄存器组比较重要,STM32F103系列单片机的外部中断分组与这个寄存器组密切相关。因为STM32F103系列单片机的外部中断有60个,所以采用中断分组的办法来确定中断的优先级。IPR寄存器组由15个32位的寄存器组成,每个可屏蔽中断占用8位5.2.3中断控制器IPR[15]:全称Interrupt5.2.3中断控制器STM32F103支持的60个中断通道已固定分配给相应的外部设备,每个中断通道都具备自己的中断优先级控制字节PRI_n,每4个通道的8位中断优先级控制字构成一个32位的优先级寄存器。IPR[0]的[0~7],[8~15],[16~23],[24~31]分别对应中断编号为0~3,依此类推,总共对应60个外部中断。而每个可屏蔽中断占用的8bit并没有全部使用,只采用高4位。这4位,又分为抢占优先级和响应优先级。抢占优先级在前,响应优先级在后。5.2.3中断控制器STM32F103支持的60个中断通道外部中断/事件控制器EXTI,主要特性:(1)每个中断/事件都有独立的触发和屏蔽;(2)每个中断线都有专用的状态位;(3)支持多达19个中断/事件请求;(4)检测脉冲宽度低于APB2时钟宽度的外部信号。第5章stm32单片机外部中断ppt课件STM32外部中断STM32单片机80个通用I/O端口连接到19个外部中断/事件源上。左图为STM32单片机通用I/O与外部中断的映射关系:PAx、PBx、PCx、PDx和PEx端口对应的是同一个外部中断/事件源EXTIx(x:0-15)。STM32外部中断STM32单片机80个通用I/O端口连接第5章stm32单片机外部中断ppt课件5.2.4
相关功能寄存器5.2.4相关功能寄存器5.2.4
相关功能寄存器1.中断屏蔽寄存器(EXTI_IMR)2.事件屏蔽寄存器(EXTI_EMR)3.上升沿触发选择寄存器(EXTI_RTSR)4.下降沿触发选择寄存器(EXTI_FTSR)5.软件中断事件寄存器(EXTI_SWIER)6.中断挂起寄存器(EXTI_PR)5.2.4相关功能寄存器1.中断屏蔽寄存器(EXTI_I5.2.4
相关功能寄存器EXTI_IMR(Interruptmaskregister)中断屏蔽寄存器5.2.4相关功能寄存器EXTI_IMR(Interrup5.2.4
相关功能寄存器EXTI_RTSR(Risingtriggerselectionregister)上升沿触发寄存器5.2.4相关功能寄存器EXTI_RTSR(Rising5.2.4
相关功能寄存器EXTI_FTSR(Fallingtriggerselectionregister)下降沿触发器5.2.4相关功能寄存器EXTI_FTSR(Fallin5.2.4
相关功能寄存器EXTI_SWIER(Softwareinterrupteventregister)软件中断事件寄存器5.2.4相关功能寄存器EXTI_SWIER(Softw5.2.4
相关功能寄存器EXTI_PR(PendingRegister)中断挂起寄存器5.2.4相关功能寄存器EXTI_PR(Pending5.2.4相关功能寄存器EXTI_EMR(Eventmaskregister)中断事件屏蔽寄存器5.2.4相关功能寄存器EXTI_EMR(Eventm5.3中断控制5.3.1中断屏蔽控制中断屏蔽控制包括NVIC控制和外设中断控制EXTI。NVIC为中断总开关,由中断设置允许寄存器(NVIC_ISER)、中断清除允许寄存器(NVIC_ICER)、中断设置挂起寄存器(NVIC_ISPR)、中断清除挂起寄存器(NVIC_ICPR)和中断状态寄存器(NVIC_IABR)控制。除GPIO由EXTI控制中断外,其它的外设均有自己的中断屏蔽控制寄存器,如定时器中断由DMA/中断使能寄存器(TIM_DIER)控制、串口中断由状态寄存器(USART_SR)和控制寄存器3(USART_CR3)控制。
5.3中断控制5.3.1中断屏蔽控制第5章stm32单片机外部中断ppt课件5.3.2中断优先级控制STM32F103系列单片机外部中断分为5个组,组0~4。分组的设置是由SCB->AIRCR寄存器的bit10~8这3位来定义的。具体的分配关系如下表所示:5.3.2中断优先级控制STM32F103系列单片机外部中为使STM32单片机的中断系统能及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程度,STM32单片机的硬件将外设的中断源分为2个级别,这2个级别就是STM32F103系列单片机的抢占优先级和响应优先级;如果两个中断源的抢占优先级和响应优先级都是一样的话,则看哪个中断先发生就先执行;高抢占优先级中断是可以打断正在进行的低抢占优先级中断的。而抢占优先级相同的中断,高响应优先级中断不可以打断正在执行的低响应优先级中断。5.3.2中断优先级控制为使STM32单片机的中断系统能及时响应并处理发生的所有中断响应优先级可设置为0到15级。判断两个中断的优先级时:(1)先看抢占优先级的高低;(2)再看响应优先级的高低;(3)看中断通道向量地址。一个系统使用一个组别就完全可以满足需要,在使用一个组别后不要在系统中再改动组别。5.3.2中断优先级控制响应优先级可设置为0到15级。5.3.2中断优先级控制假定设置中断优先级为组2,然后设置:
中断3(RTC中断)的抢占优先级为2,响应优先级为1。
中断6(外部中断0)的抢占优先级为3,响应优先级为0。
中断7(外部中断1)的抢占优先级为2,响应优先级为0。
求这3个中断的优先级顺序?上面例子中的中断3和中断7都可以打断中断6的中断。而中断7和中断3却不可以相互打断(这是因为他们的抢占优先级是相同的)。5.3.2中断优先级控制假定设置中断优先级为组2,然后设置:5.3.2中断优先级控第5章stm32单片机外部中断ppt课件5.4中断执行过程和中断嵌套如果系统中存在多个中断源,处理器要先判断当前中断的优先级。多个中断请求同时到达时,先响应优先级高的中断。如果它们的抢占优先级相同,则先处理响应优先级高的中断。例如有三个中断向量:中断向量抢占优先级响应优先级A00B10C11如果内核正在执行C的中断服务程序,则能被抢占优先级更高的中断A打断;由于B和C的抢占优先级相同,所以C不会被B打断;但如果B和C两个中断同时到达,则响应优先级更高的B会被先执行。1中断请求和优先级5.4中断执行过程和中断嵌套如果系统中存在多个中断源,处理5.5STM32外部中断应用设计5.5.1STM32外部中断常用的库函数函数名描述NVIC_PriorityGroupConfig设置优先级分组:抢占优先级和响应优先级NVIC_Init根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器NVIC_SetVectorTable设置向量表的位置和偏移NVIC_SystemLPConfig选择系统进入低功耗模式的条件5.5STM32外部中断应用设计5.5.1STM32第5章stm32单片机外部中断ppt课件5.5.2STM32中断的设计1.NVIC设置(1)根据需要对中断优先级进行分组,确定抢占优先级和响应优先级的个数。(2)选择中断通道,不同的引脚对应不同的中断通道,在stm32f10x.h中定义了中断通道结构体IRQn_Type,包含了所有型号芯片的所有中断通道。(3)根据系统要求设置中断优先级,包括抢占优先级和响应优先级。(4)使能相应的中断,完成NVIC配置。5.5.2STM32中断的设计1.NVIC设置5.5.2STM32中断的设计使用库函数NVIC_PriorityGroupConfig()实现STM32F103系列的单片机中断系统分组5.5.2STM32中断的设计使用库函数NVIC_Pri5.5.2STM32中断的设计入口参数NVIC_PriorityGroup5.5.2STM32中断的设计入口参数NVIC_Prio5.5.2STM32中断的设计举例:如代码的第17行所示,利用“NVIC_PriorityGroupConfig()”库函数将外部中断分为组2。即,抢占优先级可以设置为0-3,响应优先级也是可以设置为0-3的,这是因为它们抢占优先级占2位,响应优先级也占2位。:5.5.2STM32中断的设计举例:如代码的第17行所示5.5.2STM32中断的设计结构体“NVIC_InitTypeDef”定义typedefstruct{uint8_tNVIC_IRQChannel;uint8_tNVIC_IRQChannelPreemptionPriority;uint8_tNVIC_IRQChannelSubPriority;FunctionalStateNVIC_IRQChannelCmd;}NVIC_InitTypeDef;5.5.2STM32中断的设计结构体“NVIC_Init5.5.2STM32中断的设计NVIC_IRQChannel参数选择需要配置的中断向量的值,如下表所示5.5.2STM32中断的设计NVIC_IRQChann5.5.2STM32中断的设计5.5.2STM32中断的设计5.5.2STM32中断的设计NVIC_IRQChannelPreemptionPriority该参数设置了成员NVIC_IRQChannel中的抢占优先级的优先级别。NVIC_IRQChannelSubPriority该参数设置了成员NVIC_IRQChannel中的响应优先级的优先级别5.5.2STM32中断的设计NVIC_IRQChann5.5.2STM32中断的设计第0组:先占优先级(抢占优先级)占0位,从优先级(响应优先级)占4位,所以说NVIC_IRQChannelPreemptionPriority这个参数的值只能设置为0,NVIC_IRQChannelSubPriority这个参数值可以设置为0-15;第1组:先占优先级(抢占优先级)占1位,从优先级(响应优先级)占3位,所以说NVIC_IRQChannelPreemptionPriority这个参数的值可以设置为0-1,NVIC_IRQChannelSubPriority这个参数的值可以设置为0-7;第2组:先占优先级(抢占优先级)占2位,从优先级(响应优先级)占2位,所以说NVIC_IRQChannelPreemptionPriority这个参数的值可以设置为0-3,NVIC_IRQChannelSubPriority这个参数的值可以设置为0-3;第3组:先占优先级(抢占优先级)占3位,从优先级(响应优先级)占1位,所以说NVIC_IRQChannelPreemptionPriority值可以设置为0-7,NVIC_IRQChannelSubPriority值可以设置为0-1;第4组:先占优先级(抢占优先级)占4位,从优先级(响应优先级)占0位,所以说NVIC_IRQChannelPreemptionPriority这个参数的值可以设置为0-15,NVIC_IRQChannelSubPriority这个参数的值只能设置为0;5.5.2STM32中断的设计第0组:先占优先级(抢占优5.5.2STM32中断的设计NVIC_IRQChannelCmd该参数用来使能或者关闭指定的IRQ通道。下面例子给出如何用库函数配置STM32F103系列单片机的外部中断:程序代码的第14行定义了一个“NVIC_InitTypeDef”结构体类型的变量。第17行:设置NVIC中断分组2,2位抢占优先级,2位响应优先级;第18行:设置外部I0口的第5-9引脚为中断通道;第19行:抢占优先级为2;第20行:响应优先级为2;第21行:使能外部中断通道;第22行:根据NVIC_InitStructure结构体中指定的参数初始化外设NVIC寄存器;5.5.2STM32中断的设计NVIC_IRQChann5.5.2STM32中断的设计5.5.2STM32中断的设计2.中断端口配置(1)首先要对引脚进行配置,使能引脚,具体方法参考第4章,如果使用了复用功能需要打开复用时钟。(2)然后对外部中断方式进行配置,包括中断线路设置、中断或事件选择、触发方式设置、使能中断线完成设置。其中中断线路EXTI_Line0~EXTI_Line15分别对应EXTI0~EXTI15,即每个端口的16个引脚。EXTI_Line16~EXTI_Line18分别对应PVD输出事件、RTC闹钟事件和USB唤醒事件。5.5.2STM32中断的设计2.中断端口配置5.5.2STM32中断的设计这个库函数的功能就是选择哪个IO引脚作为外部中断线路,它有2个输入参数,第一个输入参数GPIO_PortSource,作用是选择哪一组GPIO端口作为外部中断源,它的值可取下表中的任意一个值:
5.5.2STM32中断的设计这个库函数的功能就是选择哪个IO引脚作为外部中断线路,它有2输入参数GPIO_PinSource:这个参数可以选择GPIO端口的某个引脚作为中断源的输入。5.5.2STM32中断的设计输入参数GPIO_PinSource:这个参数可以选择GPI5.5.3STM32外部中断应用实例通过按键中断实现LED的亮灭控制,利用STM32F10x的GPIO功能驱动LED。采用PA8连接LED,PB6接按键开关。
5.5.3STM32外部中断应用实例通过按键中断实现LE电路原理电容的作用是消除抖动电路原理电容的作用是消除抖动按键抖动及单脉冲电路抖动时间为10mS单脉冲按键抖动及单脉冲电路抖动时间为10mS单脉冲第5章stm32单片机外部中断ppt课件5.5.3STM32外部中断应用实例intmain(void){
NVIC_Configuration();//NVIC
LED_Config();//GPIO-LED
KEY_Config();//GPIO-KEY
GPIO_ResetBits(GPIOB,GPIO_Pin_8);//低电平,点亮LED
while(1)
{
}}主程序5.5.3STM32外部中断应用实例intmain(v5.5.3STM32外部中断应用实例voidNVIC_Configuration(void){
NVIC_InitTypeDefNVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel=EXTI9_5_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);}中断优先级NVIC配置5.5.3STM32外部中断应用实例voidNVIC_5.5.3STM32外部中断应用实例voidLED_Config(void){
GPIO_InitTypeDefGPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOA,&GPIO_InitStructure);}时钟使能I/O口初始化GPIO-LED5.5.3STM32外部中断应用实例voidLED_C5.5.3STM32外部中断应用实例voidKEY_Config(void){GPIO_InitTypeDefGPIO_InitStructure;EXTI_InitTypeDefEXTI_InitStructure;RCC_APB2PeriphClockCmd(
RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,
ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO-KEYI/O口初始化时钟设置5.5.3STM32外部中断应用实例voidKEY_C5.5.3STM32外部中断应用实例GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource6);EXTI_InitStructure.EXTI_Line=EXTI_Line6;EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;EXTI_InitStructure.EXTI_LineCmd=ENABLE;EXTI_Init(&EXTI_InitStructure);}外部中断初始化GPIO-KEY5.5.3STM32外部中断应用实例外部中断初始化GPI5.5.3STM32外部中断应用实例voidKEY_Config(void)中定义了一个“EXTI_InitStructure”,这个结构体类型在库文件中如下定义:Typedefstruct{uint32_tEXTI_Line;EXTIMode_TypeDefEXTI_Mode;EXTITrigger_TypeDefEXTI_Trigger;FunctionalStateEXTI_LineCmd;}EXTI_InitTypeDef函数说明5.5.3STM32外部中断应用实例voidKEY_C5.5.3STM32外部中断应用实例1:uint32_tEXTI_Line这个参数就是让我们选择哪条外部的中断线,该参数可取的值EXTI_InitStructure5.5.3STM32外部中断应用实例1:uint32_t2:EXTI_Mode该参数让我们设置中断线路的模式,是事件请求还是中断请求,该参数可取的值:STM32单片机的中断与事件有何区别?5.5.3STM32外部中断应用实例EXTI_InitStructureSTM32单片机的中断与事件有何区别?5.5.3STM35.5.3STM32外部中断应用实例中断是需要CPU参与的,需要软件的中断服务函数才能完成,中断后产生相应的结果;事件是靠脉冲发生器产生一个脉冲,进而由硬件自动完成这个事件,并且产生相应的结果。
可以这样简单的认为,事件机制提供了一个完全由硬件自动完成触发到产生结果的这么一个通道,不需要软件的参与,降低了CPU的负荷,节省了中断资源,提高了响应速度(硬件总快于软件),事件是利用硬件来提升CPU芯片处理事件能力的一个有效方法。5.5.3STM32外部中断应用实例3:EXTI_Trigger设置了线路的触发边沿(3种触发方式:上升沿触发,下降沿触发和上升沿和下降沿触发)EXTI_LineCmd用来开启或者关闭选中线路。它可以被设为ENABLE或者DISABLE。5.5.3STM32外部中断应用实例EXTI_InitStructure3:EXTI_Trigger设置了线路的触发边沿(3种触发5.5.3STM32外部中断应用实例RCC_APB2PeriphClockCmd(
RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,
ENABLE);如果我们在编程中,用的是IO口的复用功能,就必须开启该复用时钟,当把GPIO相应的引脚作为外部中断输入的时候,就是用到了IO的复用功能,所以必须要开启复用功能时钟(AFIO)。时钟设置5.5.3STM32外部中断应用实例RCC_APB2Pe5.5.3STM32外部中断应用实例voidEXTI9_5_IRQHandler(void){
if(EXTI_GetITStatus(EXTI_Line6)!=RESET)
{
GPIO_WriteBit(GPIOA,GPIO_Pin_8,
(BitAction)((1-GPIO_ReadOutputDataBit(GPIOA,
GPIO_Pin_8))));
EXTI_ClearITPendingBit(EXTI_Line6);
}}中断服务程序5.5.3STM32外部中断应用实例中断服务程序5.5.3STM32外部中断应用实例“if(EXTI_GetITStatus(EXTI_Line5)!=RESET)”判断一下是否真的产生了EXTILine中断中断服务程序说明5.5.3STM32外部中断应用实例中断服务程序说明EXTI_ClearITPendingBit()函数的作用就是清除中断标志位。5.5.3STM32外部中断应用实例中断服务程序说明5.5.3STM32外部中断应用实例中断服务程序说明voidNVIC_Config(void){NVIC_InitTypeDefNVIC_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);NVIC_InitStructure.NVIC_IRQChannel=EXTI9_5_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);}……………
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 品质保函样本3篇
- 军人离婚协议书范例分析3篇
- 安全认证章刻制协议3篇
- 安全评估委托书的合规性改进3篇
- 房产安全空气品质要求3篇
- 财务述职报告范文(10篇范例)
- 刑案审查意见书3篇
- 保健老师述职报告(20篇)
- 房产租赁逾期付款的心理战术3篇
- 体验地理的研学旅行合同3篇
- 统编版语文三年级上册第七单元口语交际身边的“小事”核心素养公开课一等奖创新教学设计
- 美国制造业经济2024年度报告-2024-12-宏观大势
- 脐灸个案护理案例分享
- 《瑞幸咖啡企业财务造假问题探究》5800字(论文)
- 2024年山东省公务员录用考试《行测》真题及答案解析
- 2024年贵州省公务员考试《行测》真题及答案解析
- 2022-2024北京初二一模生物汇编:实验探究题
- 2024年肿瘤放射治疗学(中级343)专业知识卫生专业技术资格考试试题与参考答案
- 产品召回程序合同
- 职业心理健康课件
- 电子测量仪器的微机电系统技术考核试卷
评论
0/150
提交评论