- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
单元四串口打印—中断接收主讲人:XXX上海城建职业学院
本单元内容中断基本概述USART中断库函数说明中断方式的串口通信
教学目标了解中断的基本概念了解HAL库的中断设计思想熟练掌握中断方式串口通信的编程方法
4.1中断基本概述
基本概念UART中断的概念ARMCoetex-M3内核共支持256个中断,其中16个内部中断,240个外部中断和可编程的256级中断优先级的设置。STM32目前支持的中断共84个(16个内部+68个外部),还有16级可编程的中断优先级的设置,仅使用中断优先级设置8bit中的高4位。中断简介
基本概念UART中断的概念STM32可支持68个中断通道,已经固定分配给相应的外部设备,每个中断通道都具备自己的中断优先级控制字节(8位,但是STM32中只使用4位,高4位有效),每4个通道的8位中断优先级控制字构成一个32位的优先级寄存器。68个通道的优先级控制字节至少构成17个32位的优先级寄存器。中断简介
基本概念UART中断的概念4bit的中断优先级可以分成2组,从高位看,前面定义的是抢占式优先级,后面是响应优先级。按照这种分组,4bit一共可以分成5组:第0组:所有4bit用于指定响应优先级;第1组:最高1位用于指定抢占式优先级,后面3位用于指定响应优先级;第2组:最高2位用于指定抢占式优先级,后面2位用于指定响应优先级;第3组:最高3位用于指定抢占式优先级,后面1位用于指定响应优先级;第4组:所有4位用于指定抢占式优先级。抢占优先级和响应优先级
基本概念UART中断的概念所谓抢占式优先级和响应优先级,他们之间的关系是:具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套。当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理哪一个;如果他们的抢占式优先级和响应优先级都相等,则根据他们在中断表中的排位顺序决定先处理哪一个。每一个中断源都必须定义2个优先级。抢占优先级和响应优先级
基本概念UART中断的概念有几点需要注意的是:如果指定的抢占式优先级别或响应优先级别超出了选定的优先级分组所限定的范围,将可能得到意想不到的结果;抢占式优先级别相同的中断源之间没有嵌套关系;如果某个中断源被指定为某个抢占式优先级别,又没有其它中断源处于同一个抢占式优先级别,则可以为这个中断源指定任意有效的响应优先级别。抢占优先级和响应优先级
基本概念UARTUSART中断向量表优先级优先级类型名称说明地址44可设置USART1USART1全局中断0x0000_00D445可设置USART2USART2全局中断0x0000_00D846可设置USART3USART3全局中断0x0000_00DC
基本概念UART中断控制器中断控制器NVIC(NestedVectoredInterruptController),NVIC是属于Cortex内核的器件,不可屏蔽中断和外部中断都是由它处理,而SYTICK不是由它处理。NVIC中断控制器
3.2USART中断库函数配置
中断配置NVIC嵌套向量中断控制器NVIC_InitTypeDefstructureNVIC_InitTypeDef定义于文件“stm32f10x_nvic.h”:typedefstruct{u8 NVIC_IRQChannel;u8 NVIC_IRQChannelPreemptionPriority;u8 NVIC_IRQChannelSubPriority;FunctionalStateNVIC_IRQChannelCmd;}NVIC_InitTypeDef;接口函数:NVIC_Init 函数原型voidNVIC_Init(NVIC_InitTypeDef*NVIC_InitStruct)功能描述根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器入口参数NVIC_InitStruct:指向结构NVIC_InitTypeDef的指针,包含了外设GPIO的配置信息返回值无NVIC驱动有多种用途:例如使能或者失能IRQ中断,使能或者失能单独的IRQ通道,改变IRQ通道的优先级等等。
中断配置NVIC串口中断通用处理函数接口函数:USART_ITConfig 函数原型voidUSART_ITConfig(USART_TypeDef*USARTx,u16USART_IT,FunctionalStateNewState)功能描述使能或者失能指定的USART中断入口参
文档评论(0)