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

男女做受网站/郑州网站优化排名

男女做受网站,郑州网站优化排名,东单网站建设,设计师一般上什么网站基于STM32中断讲解 一、NVIC讲解 简介:当一个中断请求到达时,NVIC会确定其优先级并决定是否应该中断当前执行的程序,以便及时响应和处理该中断请求。这种设计有助于提高系统的响应速度和可靠性,特别是在需要处理大量中断请求的实…

基于STM32中断讲解

一、NVIC讲解

简介:当一个中断请求到达时,NVIC会确定其优先级并决定是否应该中断当前执行的程序,以便及时响应和处理该中断请求。这种设计有助于提高系统的响应速度和可靠性,特别是在需要处理大量中断请求的实时应用程序中。
NVIC 支持:256个中断(16内核+240外部),支持:256个优先级,允许裁剪。
NVIC工作原理
从上图中可以看出主要运用的寄存器有**中断使能寄存器(ISER)、中断失能寄存器(ICER)、应用程序中断及复位控制寄存器(AIRCR)、中断优先级寄存器(IPR)**只用对上述寄存器进行配置就行。

中断优先级几种类型:
1、抢占优先级
如果一个中断的抢占优先级高于当前正在执行的中断,那么它可以打断当前中断,优先得到执行。数值越小,优先级越高。
2、响应优先级
如果两个中断同时到达,且它们的抢占优先级相同,那么响应优先级高的中断将首先得到响应。数值越小,优先级越高。
3、自然优先级
自然优先级是由硬件固定并预先设定的,用户无法更改。当抢占优先级和响应优先级都相同时,自然优先级将决定哪个中断先得到处理。
优先级执行顺序
当多个中断同时发生时,执行顺序首先由抢占优先级决定。如果抢占优先级相同,则进一步由响应优先级决定。如果响应优先级也相同,则最终由自然优先级决定。
在中断嵌套的情况下,高抢占优先级的中断可以打断低抢占优先级的中断,但高响应优先级的中断不能打断低响应优先级的中断(当它们具有相同的抢占优先级时)。

优先级分组
优先级寄存器 IPR 有 8 位,但实际只使用到高 4 位,用于决定抢占优先级、响应优先级的等级。一般分为两组。

二、EXTI讲解

简介:EXTI 是 External Interrupt 的缩写,表示外部中断事件控制器。EXTI 可以监测指定 GPIO 口的电平信号变化,并在检测到指定条件时,向内核的中断控制器 NVIC 发出中断申请。NVIC 在裁决后,如果满足条件,会中断CPU的主程序,使 CPU 转而执行 EXTI 对应的中断服务程序。
EXTI 支持的触发方式:上升沿、下降沿、双边沿或软件触发。
EXTI 支持所有的 GPIO 口,但需要注意的是,**相同的 Pin 不能同时触发中断。**例如,PA0 和 PB0 不能同时被配置为中断源。
EXTI 提供了 16 个 GPIO_Pin 的中断线,以及额外的中断线如 PVD 输出、RTC 闹钟、USB 唤醒和以太网唤醒。

中断/事件区分

中断会打断CPU当前正在执行的程序,转而去执行中断服务程序,待中断服务程序执行完毕后,CPU会返回到原来的程序执行点继续执行。
事件只是简单地表示某个动作或状态的变化,而不会打断CPU当前正在执行的程序。当事件发生时,它会根据配置来决定是否触发相应的中断。如果开放了对应的中断屏蔽位(输入0为屏蔽中断,输入1为打开中断),事件就可以触发相应的中断,否则事件只会作为一个信号存在,不会被CPU处理。
中断屏蔽位作用图 中断屏蔽位作用图前三行位中断触发,后三行位事件触发前三行位中断触发,后三行位事件触发

EXTI结构
配置中断结构图配置中断结构图

三、AFIO讲解

简介:AFIO 是 Alternate Function Input/Output 的缩写,表示复用功能 IO,主要用于实现 I/O 端口的复用功能以及外部中断的控制。
为了优化64脚或100脚封装的外设数量,有时需要将一些复用功能重新映射到其他引脚上。这时,就可以使用AFIO的复用重映射功能。通过设置复用重映射和调试I/O配置寄存器(AFIO_MAPR),可以实现引脚的重新映射,使得复用功能不再映射到它们的原始分配上。
此外,AFIO 还用于控制外部中断,用来配置 EXTI 中断线 0~15 对应哪个具体 IO 口。
AFIO简化图
AFIO对于外设的选用

四、配置原理

配置图:
中断配置图
配置代码:以按键电灯为例

void exit_init(void)
{
GPIO_InitTypeDef gpio_initstruct;//设结构体//打开GPIO的时钟__HAL_RCC_GPIOA_CLK_ENABLE();gpio_initstruct.Pin = GPIO_PIN_0;gpio_initstruct.Mode = GPIO_MODE_IT_FALLING;//中断按键为下降沿模式触发gpio_initstruct.Speed = GPIO_SPEED_FREQ_HIGH;//高速gpio_initstruct.Pull = GPIO_PULLUP;      //上拉HAL_GPIO_Init(GPIOA,&gpio_initstruct);HAL_NVIC_SetPriority(EXTI0_IRQn,2,0);//GPIOA/B..00系列HAL_NVIC_EnableIRQ(EXTI0_IRQn);		//NVIC中断使能函数
}
void EXTI0_IRQHandler(void)         //配置中断服务函数
{
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
}
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_pin)     //回调函数  回调函数_week类型返回uint16_t传参,可写相应的执行功能
{//delay_ms(20);/*if(GPIO_pin == GPIO_PIN_0)//检测按键是否是pin0脚{if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0) == GPIO_PIN_RESET){led_toggle();}}*/
}   

其中优先级分组一般为两组,只需配置一次即可,在HAL_Init()里面进行配置。

http://www.whsansanxincailiao.cn/news/30277506.html

相关文章:

  • 南宁专业网站制作公司/做网站用什么软件好
  • 滁州建设局网站/搜索引擎优化排名技巧
  • 如何做外贸独立网站/餐饮管理和营销方案
  • 深圳网站开发建设服务公司/seo 排名 优化
  • 品牌网站定制开发/什么叫网络营销
  • 台州市建设规划局网站6/新闻今天的最新新闻
  • 江宁网站建设案例/郑州网站建设推广
  • 杭州网站程序开发公司/最近三天的新闻大事摘抄
  • 姜堰网网站/互联网营销的方式有哪些
  • 成功案例展示网站/网络服务有哪些
  • 怎样开设网站/成都新闻最新消息
  • 淘客自己的网站怎么做/搜狗整站优化
  • wordpress页面中添加小工具/百度seo网站优化 网络服务
  • 长沙圭塘网站建设公司/网站运营主要做什么
  • 有没有可以做各种字体的网站/关键词优化分析工具
  • 日本软银集团总资产/北京seo技术交流
  • 许昌正规网站优化公司/百度推广公司哪家比较靠谱
  • 南京百度网站建设/网站推广去哪家比较好
  • 网站建设方案百度文库/最近一周的重大热点新闻
  • 大学生网站建设方案/什么是互联网推广
  • 微网站下载资料怎么做/seo建站技巧
  • 怎么看网站是什么语言做的后台/企业推广网络营销
  • 淘宝客做二级域名网站/湖南网站建设工作室
  • 陕西网站开发联系电话/流程优化
  • wordpress如何编辑/长安seo排名优化培训
  • 网站页面制作建议/搜索引擎营销的实现方法有
  • 国际新闻最新消息美国/seo博客
  • 潍坊 网站建设/武汉大学人民医院怎么样
  • 长春企业网站建设/电商网站入口
  • 检测网站是否为WordPress/环球军事网最新军事新闻最新消息