当前位置: 首页 > news >正文

php网站分类目录源码网站下载

php网站分类目录源码,网站下载,做服装的网站,专业网站建设公司1 中断系统 1.1 中断简介 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行。 比如&a…

1 中断系统

1.1 中断简介

中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行。

比如:对于外部中断而言,可以是引脚电平发生跳变;对于定时器而言,可以是定时事件到了。对于串口通信而言,可以是接收到了数据。

中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源。(自己设置的)

中断嵌套:当一个中断程序正在运行时,又有新的更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次进行返回。

1.2 中断流程图

程序由硬件电路自动跳转到中断程序。

保存现场,还原现场(使用C语言编程不用我们考虑,操作系统做)

正常情况下,程序在主函数中执行,当中断条件满足时,主程序会暂停,然后自动跳转到中断程序;当中断程序执行完后,再返回主程序继续执行。一般中断程序都是在一个子函数的,这个函数不需要我们调用,当中断来临时,由硬件自动调用这个函数。

1.3 STM32的中断

68个可屏蔽中断通道,包含EXTITIMADCUSARTSPII2CRTC等多个外设。

中断通道就是中断源的意思

EXTI:外部中断

TIM:定时器

ADC:模数转换器

USART:串口

SPI通信

I2C通信

RTC实时时钟

使用NVIC统一管理中断,每个中断通道都拥有16个可编程的优先等级,可对优先级进行分组,进一步设置抢占优先级和响应优先级

灰色的是内核中断。比如第一个:复位中断,当产生复位中断时,程序就会自动执行复位中断函数。

外部中断对应的中断资源

613可设置EXTI0EXTI线0中断0x0000_0058
714可设置EXTI1EXTI线1中断0x0000_005C
815可设置EXTI2EXTI线2中断0x0000_0060
916可设置EXTI3EXTI线3中断0x0000_0064
1017可设置EXTI4EXTI线4中断0x0000_0068
2330可设置EXTI9_5EXTI线[9:5]中断0x0000_009C
4047可设置EXTI15_10EXTI线[15:10]中断0x0000_00E0

最右边是地址,因为中断函数的地址由编译器来分配的,它是不固定的,但是中断跳转,由于硬件的限制,只能跳转到固定的地址执行程序,所以为了能让硬件跳转到一个不固定的中断函数中,这里需要在内存中定义一个地址的列表,这个列表地址是固定的,中断发生后,就跳转到这个固定的位置。然后这个固定位置由编译器,再加上一条跳转 到中断函数的代码,这样中断跳转就可以跳转到任意位置了。这个中断地址的列表就叫中断向量表。(相当于中断跳转的跳板,使用C语言编程不需要关心)

1.4 NVIC的基本结构

NVIC:Nest Vector Interrupt Controller,嵌套中断向量控制器,是用来管理中断嵌套的,核心任务在于其优先级的管理。NVIC给每个中断赋予先占优先级(抢占优先级)和次占优先级(响应优先级)。

NVIC是内核外设,是CPU的小助手。

一个外设可能会同时占用多个中断通道,所以有n条线。

NVIC只有一个输出口,NVIC根据每个中断的优先级分配中断的先后顺序,之后通过一个输出口告诉CPU该处理哪个中断(医生-CPU,叫号系统-NVIC)

1.5 NVIC优先级分组

NVIC的中断优先级由优先级寄存器的4位(0~15)决定,这4位可以进行切分,分为:

高n位的抢占优先级低4-n位的响应优先级(插队)

抢占优先级高的可以中断嵌套响应优先级高的可以优先排队(插队)抢占优先级和响应优先级均相同的按中断号排队

分组方式

抢占优先级

响应优先级

分组0

0位,取值为0

4位,取值为0~15

分组1

1位,取值为0~1

3位,取值为0~7

分组2

2位,取值为0~3

2位,取值为0~3

分组3

3位,取值为0~7

1位,取值为0~1

分组4

4位,取值为0~15

0位,取值为0

值越小,优先级越高,0是最高优先级。

分组0就是0位的抢占等级,取值只能是0;4位的响应等级,取值可以是0-15;

分组1就是1位的抢占等级,取值可以是0-1;3位的响应等级,取值可以是0-7;

分组2就是2位的抢占等级,取值可以是0-3;2位的响应等级,取值可以是0-3;

分组3就是3位的抢占等级,取值可以是0-7;1位的响应等级,取值可以是0-1;

分组4就是4位的抢占等级,取值可以是0-15;0位的响应等级,取值只能是0;

数值小的优先响应。

1.6 EXTI外部中断

  1. EXTI(Extern Interrupt)外部中断;
  2. EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序;
  3. 支持的触发方式:上升沿(低->高)/下降沿/双边沿/软件触发;
  4. 支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断(PA0和PB0不能同时用);
  5. 通道数:16GPIO_Pin(0-15),外加PVD输出、RTC闹钟、USB唤醒、以太网唤醒;
  6. 触发响应方式:中断响应/事件响应。

中断响应:申请中断,让CPU执行中断函数;

事件响应:STM32对外部中断新增的额外功能;当外部中断检测到引脚电平变化时,正常的流程是选择触发中断,但是在STM32中也可以选择触发一个事件。如果选择触发事件,那外部的中断信号就不会通向CPU了,而是通向其他外设,用来触发其他外设的操作,比如触发ADC转换,触发DMA等。

总结:中断响应是正常的流程,引脚电平变化触发中断

事件响应不会触发中断,而是触发别的外设操作,属于外设间的联合工作

外部中断有个功能,就是从低功耗模式的停止模式下唤醒STM32;对于PVD电压电压检测,当电源从电压过低恢复时,就需要PVD借助外部中断退出停止模式;对于RTC闹钟而言,有时候为了省电,RTC定一个闹钟之后,STM32会进入停止等待模式,等到闹钟响的时候再唤醒,这也需要借助外部中断。

1.7 EXTI的基本结构

http://www.hengruixuexiao.com/news/39205.html

相关文章:

  • 50个创业小型加工厂seo优化推广流程
  • 厦门橄榄网站建设视频推广一条多少钱
  • 做标志的好网站seo国外英文论坛
  • 做商城网站的公司线上宣传有哪些好的方式方法
  • 沈丘做网站去哪里seo关键词
  • 36氪网站用什么程序做的品牌营销策略分析论文
  • 石家庄网站建设.神鹿网络万物识别扫一扫
  • 做网站需要找什么客户徐州seo推广优化
  • 网站文章正文可以做内链吗企点官网
  • 建设专业网站电话咨询商业网站设计
  • 网站弹出咨询这个怎么做网络服务商主要包括
  • 学校网站开发与设计自动引流免费app
  • 链家做网站和手机app花了多少钱aso优化公司
  • 企业网站托管多少钱seo研究中心超逸seo
  • dedecms中英文网站营销推广方案怎么写
  • 网站公共模板是什么意思什么是新媒体营销
  • 网站建设的生存期模型十种营销方式
  • 做国外订单用哪个网站网络营销sem培训
  • wordpress 建立数据库连接时出错网站百度关键词seo排名优化
  • 怎么做关于梦想的网站免费的成都网站seo推广
  • 网站的版面设计天津seo排名
  • 长沙做网站优化整站seo教程
  • 网站开发 后端返回前端一个地址 有什么用长沙专业做网站公司
  • 广州地铁封闭最新消息河北seo基础入门教程
  • 做问卷兼职有哪些网站河北搜索引擎优化
  • 百度给做网站收费多少钱网络推广员的前景
  • 自动做微网站百度官方客服
  • 大数据营销的优缺点现在百度怎么优化排名
  • 深圳网站制作开发seo百度网站排名软件
  • 上海seo排名适合seo软件