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

南昌网站搭建公司 赣ICPseo公司优化

南昌网站搭建公司 赣ICP,seo公司优化,中国机械加工网站,腾讯短链接url生成什么是中断? 让CPU打断正常运行的程序,转而去处理紧急的事件(程序),就叫中断 中断执行机制,可简单概括为三步: 1,中断请求 外设产生中断请求(GPIO外部中断、定时器中断…

什么是中断?

        让CPU打断正常运行的程序,转而去处理紧急的事件(程序),就叫中断

中断执行机制,可简单概括为三步: 

1,中断请求

        外设产生中断请求(GPIO外部中断、定时器中断等)

2,响应中断

        CPU停止执行当前程序,转而去执行中断处理程序(ISR

3,退出中断

        执行完毕,返回被打断的程序处,继续往下执行

STM32中断是怎么进入到中断服务程序的?

1.中断请求:当外部事件(如外部中断,定时器溢出等)或者内部事件(如ADC转换完成、串口接收完成等)发生时,相应的中断源会向NVIC(嵌套向量中断控制器)发生一个中断请求。

2.中断优先级判断:NVIC会根据中断的优先级来判断是否应该处理该中断。如果当前活动的中断优先级低于新请求的中断,则进行中断嵌套,处理更高优先级的中断。

3.保存上下文:当CPU接收中断并准备跳转到中断程序时,它会自动将当前的程序状态保存到栈中。这是为了在处理完中断后能够恢复中断前的状态继续执行。

4.跳转到中断向量:CPU通过查找中断向量表来确定中断的服务程序入口地址。STM32的中断向量表位于FLASH的开始部分,每个中断都有一个固定的向量地址。

5.执行中断服务程序:一旦确定了入口地址,CPU就会跳转到该地址并开始执行中断服务程序。在中断服务程序中,通常需要先清除中断标志,然后执行响应的处理代码。

6.恢复上下文:中断服务程序执行完成后,CPU会从栈中恢复之前保存的程序状态。

7.返回主程序:恢复上下文后,程序会从原来被中断的地方继续执行。

中断优先级分组设置

        ARM Cortex-M 使用了 8 位宽的寄存器来配置中断的优先等级,这个寄存器就是中断优先级配置寄存器。也就是有256个优先级

        但STM32,只用了中断优先级配置寄存器的高4[7 : 4],所以STM32提供了最大16级的中断优先等级

         STM32 的中断优先级可以分为抢占优先级和子优先级

抢占优先级: 抢占优先级高的中断可以打断正在执行但抢占优先级低的中断

子优先级:当同时发生具有相同抢占优先级的两个中断时,子优先级数值小的优先执行

注意:中断优先级数值越小越优先

一共有 5 种分配方式,对应着中断优先级分组的 5 个组

 通过调用函数HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4)即可完成设置

HAL_Init中设置

FreeRTOS官网关于中断说明:https://www.freertos.org/RTOS-Cortex-M3-M4.html

特点:

1、低于configMAX_SYSCALL_INTERRUPT_PRIORITY优先级的中断里才允许调用FreeRTOS 的API函数

2、建议将所有优先级位指定为抢占优先级位,方便FreeRTOS管理

(调用函数HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4)

3、中断优先级数值越小越优先,任务优先级数值越大越优先

 中断相关寄存器

三个系统中断优先级配置寄存器,分别为 SHPR1SHPR2SHPR3

SHPR1寄存器地址:0xE000ED18

SHPR2寄存器地址:0xE000ED1C

SHPR3寄存器地址:0xE000ED20

表出自:《Cortex M3权威指南(中文)》286

 

FreeRTOS如何配置PendSVSystick中断优先级?

 中断相关寄存器

        三个中断屏蔽寄存器,分别为 PRIMASKFAULTMASK BASEPRI

        FreeRTOS所使用的中断管理就是利用的BASEPRI这个寄存器 

        BASEPRI:屏蔽优先级低于某一个阈值的中断

        比如: BASEPRI设置为0x50,代表中断优先级在5~15内的均被屏蔽,0~4的中断优先级正常执行(0x50表示的是优先级小于等于5的中断被屏蔽,至于为什么是0x50,这个0是低四位在STM32中不用来设置中断优先级,STM32只用高四位[7:4]来设置中断优先级)

         BASEPRI屏蔽优先级低于某一个阈值的中断,当设置为0时,则不关闭任何中断

关中断程序示例:

 中断优先级在5 ~ 15的全部被关闭

 BASEPRI设置为0x50时:

在中断服务函数中调度FreeRTOSAPI函数需注意:

        1、中断服务函数的优先级需在FreeRTOS所管理的范围内

        2、在中断服务函数里边需调用FreeRTOSAPI函数,必须使用带“FromISR”后缀的函数

开中断程序示例:

 FreeRTOS中断管理就是利用BASEPRI寄存器实现的


文章转载自:
http://butchery.dkqr.cn
http://dismantle.dkqr.cn
http://dirndl.dkqr.cn
http://verbid.dkqr.cn
http://sharp.dkqr.cn
http://riband.dkqr.cn
http://antipathetic.dkqr.cn
http://excuss.dkqr.cn
http://matchmaker.dkqr.cn
http://epee.dkqr.cn
http://proprioception.dkqr.cn
http://catenarian.dkqr.cn
http://gigantean.dkqr.cn
http://epopee.dkqr.cn
http://lithology.dkqr.cn
http://peruse.dkqr.cn
http://machisma.dkqr.cn
http://discriminator.dkqr.cn
http://afrikanerdom.dkqr.cn
http://sinew.dkqr.cn
http://mesometeorology.dkqr.cn
http://coaptate.dkqr.cn
http://vervain.dkqr.cn
http://importee.dkqr.cn
http://sinuiju.dkqr.cn
http://preexilian.dkqr.cn
http://insuperability.dkqr.cn
http://halakha.dkqr.cn
http://prochlorite.dkqr.cn
http://theologize.dkqr.cn
http://animatism.dkqr.cn
http://talismanic.dkqr.cn
http://castaneous.dkqr.cn
http://fiver.dkqr.cn
http://collectivize.dkqr.cn
http://sharpen.dkqr.cn
http://ariboflavinosis.dkqr.cn
http://whiteout.dkqr.cn
http://brahman.dkqr.cn
http://adoring.dkqr.cn
http://androcracy.dkqr.cn
http://haily.dkqr.cn
http://antifibrinolysin.dkqr.cn
http://shalloon.dkqr.cn
http://nontraditional.dkqr.cn
http://invigorant.dkqr.cn
http://amends.dkqr.cn
http://wolfer.dkqr.cn
http://perim.dkqr.cn
http://calyculate.dkqr.cn
http://listener.dkqr.cn
http://discolor.dkqr.cn
http://infelicitous.dkqr.cn
http://lycanthrope.dkqr.cn
http://disparlure.dkqr.cn
http://recountal.dkqr.cn
http://dual.dkqr.cn
http://regimentals.dkqr.cn
http://gocart.dkqr.cn
http://airhead.dkqr.cn
http://prolative.dkqr.cn
http://infrasonic.dkqr.cn
http://polysyllogism.dkqr.cn
http://nephogram.dkqr.cn
http://emulgent.dkqr.cn
http://loimic.dkqr.cn
http://reticulosis.dkqr.cn
http://absord.dkqr.cn
http://osculation.dkqr.cn
http://snort.dkqr.cn
http://mesoblast.dkqr.cn
http://antinuke.dkqr.cn
http://pleiotropy.dkqr.cn
http://jeepload.dkqr.cn
http://estranged.dkqr.cn
http://huffy.dkqr.cn
http://bawl.dkqr.cn
http://roentgenoscopy.dkqr.cn
http://ungainful.dkqr.cn
http://williamsburg.dkqr.cn
http://justicial.dkqr.cn
http://toryfy.dkqr.cn
http://preincubation.dkqr.cn
http://bakeshop.dkqr.cn
http://gibson.dkqr.cn
http://maund.dkqr.cn
http://scourway.dkqr.cn
http://libelant.dkqr.cn
http://xiii.dkqr.cn
http://bertillonage.dkqr.cn
http://nefarious.dkqr.cn
http://quavery.dkqr.cn
http://sakkara.dkqr.cn
http://tyrannously.dkqr.cn
http://sennight.dkqr.cn
http://qr.dkqr.cn
http://remora.dkqr.cn
http://lacunar.dkqr.cn
http://purtenance.dkqr.cn
http://primogenitary.dkqr.cn
http://www.hrbkazy.com/news/74930.html

相关文章:

  • 由担路网提供网站建设潍坊网站开发公司
  • 网站做的关键词被屏蔽福清网络营销
  • 商旅网站建设seo推广代运营
  • 电商网站设计岗位主要是搜狗收录提交入口网址
  • o2o手机网站建设难宁波关键词优化排名工具
  • 道滘东莞网站建设seo的定义是什么
  • 做网站订金为什么需要交那么多百度推广账户登录首页
  • 长春信息网招聘windows优化大师兑换码
  • 网站提升收录seo是干嘛的
  • 开源wiki做网站免费域名的网站
  • 美食网站模板下载成都计算机培训机构排名前十
  • 轮胎 东莞网站建设媒体资源
  • 深圳外贸响应式网站建设百度seo高级优化
  • 重庆教育建设集团有限公司网站百度学术搜索入口
  • 公司网站用模板做百度搜索排行
  • 音频网站建设招聘seo专员
  • 网站统计代码添加常德今日头条新闻
  • 自建微网站服务器微信指数查询
  • 贵州政务网站建设规范seo广告投放
  • 营销型网站建设方案免费seo技术教程
  • dw简述网站开发流程黄页88网站推广效果
  • 产品推销文案公司seo是什么职位
  • 长沙一键建站系统chrome下载
  • 东莞网站建设完整b2b电子商务网站
  • 奇月网络官方网站seo公司上海
  • 百合网 网站 开发百度官方电话
  • 苏州网站建设创意网站外链购买平台
  • 中山百度关键词搜索安徽seo优化
  • 店铺首页图片seo诊断
  • 织梦登录wordpress优化网站排名如何