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

网站做图标链接泉州哪里做网站

网站做图标链接,泉州哪里做网站,广东推广网络,舟山市普陀区建设局网站STM32 NVIC 中断优先级管理 CM3 内核支持 256 个中断#xff0c;其中包含了 16 个内核中断和 240 个外部中断#xff0c;并且具有 256级的可编程中断设置。STM32 并没有使用 CM3 内核的全部东西#xff0c;而是只用了它的一部分。STM32 有 84 个中断#xff0c;包括 16 个…STM32 NVIC 中断优先级管理 CM3 内核支持 256 个中断其中包含了 16 个内核中断和 240 个外部中断并且具有 256级的可编程中断设置。STM32 并没有使用 CM3 内核的全部东西而是只用了它的一部分。STM32 有 84 个中断包括 16 个内核中断和 68 个可屏蔽中断具有 16 级可编程的中断优先级。STM32 的 68 个可屏蔽中断在 STM32F103 系列上面又只有 60 个在 107 系列才有 68 个。因为我们开发板选择的芯片是 STM32F103 系列的所以我们就只针对 STM32F103 系列这 60 个可屏蔽中断进行介绍。 中断管理方法 首先对STM32中断进行分组组0~4。同时对每个中断设置一个抢占优先级和一个响应优先级值。这里简单介绍一下 STM32 的中断分组STM32 将中断分为 5 个组组 0~4。该分组的设置是由 SCB-AIRCR 寄存器的 bit10~8 来定义的。具体的分配关系如表 4.5.1 所示 抢占优先级和响应优先级的区别 高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的值越小越高在抢占优先级不同的情况下响应优先级是没有用的。抢占优先级相同的中断高响应优先级不可以打断低响应优先级的中断。抢占优先级相同的中断当两个中断同时发生的情况下哪个响应优先级高哪个先执行。如果两个中断的抢占优先级和响应优先级都是一样的话则看哪个中断先发生就先执行 举例 假定设置中断优先级组为2然后设置中断3(RTC中断)的抢占优先级为2响应优先级为1。 中断6外部中断0的抢占优先级为3响应优先级为0。中断7外部中断1的抢占优先级为2响应优先级为0。那么这3个中断的优先级顺序为中断7中断3中断6。 一般情况下系统代码执行过程中只设置一次中断优先级分组比如分组2设置好分组之后一般不会再改变分组。随意改变分组会导致中断管理混乱程序出现意想不到的执行结果。 中断优先级分组函数 void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup) {assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup));SCB-AIRCR AIRCR_VECTKEY_MASK | NVIC_PriorityGroup; }设置为分组二举例 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);怎么设置单个中断的抢占优先级和响应优先级 中断设置相关寄存器 __IO uint8_t IP[240]; //中断优先级控制的寄存器组__IO uint32_t ISER[8]; //中断使能寄存器组__IO uint32_t ICER[8]; //中断失能寄存器组__IO uint32_t ISPR[8]; //中断挂起寄存器组__IO uint32_t ICPR[8]; //中断解挂寄存器组__IO uint32_t IABR[8]; //中断激活标志位寄存器组 MDK中NVIC寄存器结构体 typedef struct {__IO uint32_t ISER[8]; uint32_t RESERVED0[24]; __IO uint32_t ICER[8]; uint32_t RSERVED1[24]; __IO uint32_t ISPR[8]; uint32_t RESERVED2[24]; __IO uint32_t ICPR[8]; uint32_t RESERVED3[24]; __IO uint32_t IABR[8]; uint32_t RESERVED4[56]; __IO uint8_t IP[240]; uint32_t RESERVED5[644]; __O uint32_t STIR; } NVIC_Type; 每个中断怎么设置优先级 ① 中断优先级控制的寄存器组IP[240] 全称是Interrupt Priority Registers。240个8位寄存器每个中断使用一个寄存器来确定优先级。STM32F10x系列一共60个可屏蔽中断使用IP[59]~IP[0]。每个IP寄存器的高4位用来设置抢占和响应优先级根据分组低4位没有用到。 ② 中断使能寄存器组ISER[8] 作用用来使能中断 32位寄存器每个位控制一个中断的使能。STM32F10x只有60个可屏蔽中断所以只使用了其中的ISER[0]和ISER[1]。ISER[0]的bit0到bit31 分别对应中断0到31。ISER[1]的bit0到bit27对应中断32~59 ③ 中断失能寄存器组ICER[8] 作用用来失能中断 32位寄存器每个位控制一个中断的失能。STM32F10x只有60个可屏蔽中断所以只使用了其中的ICER[0]和ICER[1]。ICER[0]的bit0到bit31分别对应中断0到31。ICER[1]的bit0到bit27对应中断32~59配置方法跟ISER一样。 void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);④中断挂起控制寄存器组ISPR[8] 作用用来挂起中断 ⑤中断解挂控制寄存器组ICPR[8] 作用用来解挂中断 static __INLINE void NVIC_SetPendingIRQ(IRQn_Type IRQn) static __INLINE uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn) static __INLINE void NVIC_ClearPendingIRQ(IRQn_Type IRQn)⑥中断激活标志位寄存器组IABR [8] 作用只读通过它可以知道当前在执行的中断是哪一个如果对应位为1说明该中断正在执行。 static __INLINE uint32_t NVIC_GetActive(IRQn_Type IRQn)中断参数初始化函数 void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);typedef struct {uint8_t NVIC_IRQChannel; //设置中断通道uint8_t NVIC_IRQChannelPreemptionPriority;//设置抢占优先级uint8_t NVIC_IRQChannelSubPriority; //设置响应优先级FunctionalState NVIC_IRQChannelCmd; //使能/使能 } NVIC_InitTypeDef;NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel USART1_IRQn;//串口1中断 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority1 ;// 抢占优先级为1 NVIC_InitStructure.NVIC_IRQChannelSubPriority 2;// 子优先级位2 NVIC_InitStructure.NVIC_IRQChannelCmd ENABLE;//IRQ通道使能 NVIC_Init(NVIC_InitStructure); //根据上面指定的参数初始化NVIC寄存器中断优先级设置步骤 ① 系统运行后先设置中断优先级分组。调用函数 void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);整个系统执行过程中只设置一次中断分组。②针对每个中断设置对应的抢占优先级和响应优先级 void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);③ 如果需要挂起/解挂查看中断当前激活状态分别调用相关函数即可。
http://www.pierceye.com/news/115/

相关文章:

  • 网站聊天代码销售管理系统包括哪几大模块
  • 空壳网站数据微信公众平台视频网站开发
  • 杭州网站开发公司浙江1万家企业
  • 做平面设计买哪个素材网站会员建设部网站如何下载文件
  • 郑州市金水区建设局官方网站wordpress 关键词过滤
  • 支付宝怎么做网站维护中国建设银行网站忘记密码怎么办
  • 网页制作与网站建设实战大全pdf网站备案登录
  • 那个网站做图片好看wordpress模板专题页
  • 做电影网站危险吗西安招标信息网官网
  • 建一个网站需要什么条件广告设计公司开的版面费
  • 伊川网站建设沈阳专业网站建设公司
  • 15年做哪个网站致富简约网站程序
  • 做推广用的网站做公司网站需要多久
  • 建手机网站的必要性成品门户网站源码免费
  • 虚拟主机网站源码企业建设网站有哪些费用
  • 自己做一个app软件大概要多少钱长沙关键词优化新报价
  • 凡科网站 怎么开支付自己做网站怎么能被访问
  • 怎么建立公司网站?seo网站优化优化排名
  • 网站举报百色建设网站
  • 网站 位置导航wordpress原生app
  • 怎么查看自己网站是否被收录上海市城市建设管理局网站
  • 网站提供的链接合肥电脑网站建站
  • 国外室内设计网站排名泰安专业网站开发公司
  • win2003 做网站服务器品牌营销咨询机构
  • 免费企业推广网站菏泽网站建设菏泽众皓
  • 中山小榄网站慕课网站开发
  • 企业建站公司流程90设计网站是不是没有视频模板
  • 如何免费推广网站做问卷比较好的网站
  • 建设企业网站是静态还是动态好服装微信商城网站建设
  • 手机端微网站设计模板宁德市市长