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

正规网站建设团队是什么wordpress网站布置

正规网站建设团队是什么,wordpress网站布置,光山网站建设,佛山狮山网站建设中断 1、中断的简介1.1、什么是中断1.2、为什么需要中断 2、中断的优先级2.1、中断优先级的表示方法 3、NVIC3.1、什么的NVIC3.2、NVIC的内部结构3.3、中断向量表3.4、程序实现①开启中断源②配置NVIC③中断响应函数 1、中断的简介 1.1、什么是中断 正在进行的事务被突发事件打…

中断

  • 1、中断的简介
    • 1.1、什么是中断
    • 1.2、为什么需要中断
  • 2、中断的优先级
    • 2.1、中断优先级的表示方法
  • 3、NVIC
    • 3.1、什么的NVIC
    • 3.2、NVIC的内部结构
    • 3.3、中断向量表
    • 3.4、程序实现
    • ①开启中断源
    • ②配置NVIC
    • ③中断响应函数

1、中断的简介

1.1、什么是中断

   正在进行的事务被突发事件打断,转而处理这个突发事件,突发事件处理完成后回到
被打断的事务继续执行,这一处理突发事件的过程叫做中断。
在这里插入图片描述
【注】
中断结束后,回来执行的事件不再是从头开启,而是接着继续执行。

体现在程序中就是,CPU在执行主函数里面的程序,然后突然有一个中断源触发,CPU检测到中断触发后就会跳出主函数,进而去执行中断函数里面的程序。当中断函数里面的程序执行完后,在回到主函数里面接着执行没有执行完的程序。

1.2、为什么需要中断

   有突发性的,紧急性的事件就需要使用中断来处理,比如:主函数中里面拥有大量的循环程序,进而执行起来需要耗费大量的时间,而有一个事件是突发性的,比如按钮控制灯亮灭,当检测到按钮按下时,CPU才执行灯的动作,所以我们不能够将这个事件放在主程序里面,如果放在主程序里面时,当CPU还在执行循环程序,当按下按钮,程序还没有执行到判断按钮的程序,所以灯的状态不会改变。

2、中断的优先级

   中断优先级:中断处理的紧急程度叫做中断优先级。

  • 中断排队:在中断响应的过程中又有新的中断到来,新到来的中断需要排队,根据中断优先级决定排队的顺序
    在这里插入图片描述
  • 中断嵌套:中断处理过程被更紧急的中断源打断
    在这里插入图片描述

2.1、中断优先级的表示方法

   中断优先级分为2个,抢占优先级和子优先级,下图为2位表示一个优先级。我们可以自己划分位数。

在这里插入图片描述例如下面的几种情况:
中断嵌套
在这里插入图片描述
中断排队

在这里插入图片描述

3、NVIC

3.1、什么的NVIC

   NVIC其实就是中断控制器,它不属于片上外设,它在CPU中的内部,复制管理中断。

3.2、NVIC的内部结构

   中断的模型是:片上外设产生中断源–>中断信号传递给NVIC–>去查中断向量表,匹配中断函数。

在这里插入图片描述
NVIC主要负责中断源的开关,优先级的配置,然后中断仲裁。

在这里插入图片描述
中断优先级可以分组的。如下图所示:

在这里插入图片描述

3.3、中断向量表

   中断向量表:Flash存储器内部从地址0开始的一段区域,按照中断号排列,每4个字节存
储一个中断响应函数的地址(在使用手册的9)

在这里插入图片描述
在这里插入图片描述

3.4、程序实现

   我们以USART1中断为例
在这里插入图片描述

  • ①开启中断源

我们在USART.h里面找到ITconfig函数,这是配置中断是函数
在这里插入图片描述
然后我们右键点击go to,然后我们查看这个函数里面的形式参数里面取值

在这里插入图片描述

 //打开USART的某个中断源USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
  • ②配置NVIC

我们在杂项miss.h里面找到这2个函数,分别是中断优先级的分组,初始化NVIC的某一路中断开关
在这里插入图片描述
1、优先级分组
然后我们右键点击go to,然后我们查看这个函数里面的形式参数里面取值
在这里插入图片描述

//分为2位
NVIC_PriorityGroupConfig(NVIC_priorityGroup_2);

2、初始化NVIC的某一路中断开关
然后我们右键点击go to,然后我们查看这个函数里面的形式参数里面取值
在这里插入图片描述

我们通过翻译得出NVIC_InitStruct是结构体指针变量,这个变量里面有很多的元素需要我们去配置。我们打开这个结构体的定义去看看。

在这里插入图片描述
2.1、 我们看看中断源选择这个元素

在这里插入图片描述

NVIC_InitTypeDef NVICInitStruct;//创建一个结构体变量
NVICInitStruct.NVIC_IRQChannel = USART1_IRQn;

2.2、中断分组数值这个元素

在这里插入图片描述

NVICInitStruct.NVIC_IRQChannelPreemptionPriority = 0;//抢占优先级数值配置为0
NVICInitStruct.NVIC_IRQChannelSubPriority= 0;//子优先级数值配置为0

2.3、开关

NVICInitStruct.NVIC_IRQChannelCmd = ENABLE;

所以配置NVIC的最终代码如下:

NVIC_PriorityGroupConfig(NVIC_priorityGroup_2);   NVIC_InitTypeDef NVICInitStruct;//创建一个结构体变量
NVICInitStruct.NVIC_IRQChannel = USART1_IRQn;   
NVICInitStruct.NVIC_IRQChannelPreemptionPriority = 0;//抢占优先级数值配置为0
NVICInitStruct.NVIC_IRQChannelSubPriority= 0;//子优先级数值配置为0
NVICInitStruct.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVICInitStruct);
  • ③中断响应函数

    通过weak方法进行同名的覆盖
    在这里插入图片描述
    在这里插入图片描述

    void USART1_IRQHandler()//中断函数
    {函数执行体;
    }
    

最终完整的代码如下:

int main()
{USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//打开USART1的中断源NVIC_PriorityGroupConfig(NVIC_priorityGroup_2);   NVIC_InitTypeDef NVICInitStruct;//创建一个结构体变量NVICInitStruct.NVIC_IRQChannel = USART1_IRQn;   NVICInitStruct.NVIC_IRQChannelPreemptionPriority = 0;//抢占优先级数值配置为0NVICInitStruct.NVIC_IRQChannelSubPriority= 0;//子优先级数值配置为0NVICInitStruct.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVICInitStruct);
}
void USART1_IRQHandler()//中断函数
{函数执行体;
}
http://www.yayakq.cn/news/784678/

相关文章:

  • 北京网站建设哪家便宜wordpress预览时候上边
  • 新公司网站设计注意事项黄页88和58那个推广好
  • 燃气公司网站建设方案深圳高端平台
  • 百度商桥 网站慢教资注册网站
  • 福州定制网站开发制作网站建设中 意思
  • 贵阳网站搜索优化wordpress默认图片居中
  • 图跃企业网站建设wordpress多个主页
  • 网页设计的网站长安网站建设网络推广
  • 织梦网站提示保存目录数据时报网站建设有哪些风险
  • 山东企业网站建设哪家好wordpress填表
  • 网站项目策划书模板wordpress页面链接太深
  • wap网站搭建安阳网站怎么优化
  • 网站建设与经营上海企业制作网站有哪些内容
  • 做响应式网站设计师需要做什么网站开发量计算
  • 四川建设厅网站打不开优秀企业网页设计
  • 专业做视频的网站深圳优秀网站设计
  • 扬州网站建设要多少钱吉林省建设厅网站杨学武
  • 网站开发过程中遇到的问题网站建设每天的工作
  • 如何提升网站的搜索排名威海建设集团网站首页
  • 网站自助建站中文网站编辑
  • 搭建网站做财务系统做网站类网站费用
  • 上海地产网站建洛阳尚贤网络科技有限公司
  • 帮别人做设计图的网站上海网站建设免费推荐
  • 去哪儿网站建设需要哪些技术上传网站工具
  • 做cpa联盟必须要有网站吗长沙公司有哪些
  • 佛山做网站优化北京的建设网站公司
  • SEO案例网站建设价格南通 网络 公司网站
  • 建个网站 费用时尚wordpress免费主题下载
  • 做电商网站的设计思路有什么意思做外贸有哪些平台
  • 摄影学校网站模板金蝶进销存免费版