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

成都网站优化报价博客用wordpress对吗

成都网站优化报价,博客用wordpress对吗,wordpress官方主题教程,最新网站建设软件精华总结#xff1a; 中断优先级0为最高#xff0c;任务优先级0为最低 中断优先级分组中为方便rtos管理4bit全部设置成抢占优先级 32单片机的中断管理是由3个寄存器完成#xff08;名字忽略#xff0c;具体功能忽略#xff09;#xff0c;三个寄存器都是32bit#xff0c…精华总结 中断优先级0为最高任务优先级0为最低 中断优先级分组中为方便rtos管理4bit全部设置成抢占优先级 32单片机的中断管理是由3个寄存器完成名字忽略具体功能忽略三个寄存器都是32bit通过移位可操作设置寄存器上的bit位比如可设置pendsv中断和systick中断优先级 最终pendsv与systick被设置成15pendsv与systick切换任务的时候不会影响到其它中断的触发比如外部中断 上面三个寄存器是设置中断优先级还有三个寄存器用于屏蔽中断freertos使用了寄存器BASEPRI用于中断屏蔽为0x50代表关闭也可以说屏蔽5-15优先级的中断为0代表不关闭屏蔽任何中断就是这个寄存器规定了freertos只能控制5-15优先级的中断如果为0x60则就是6-15 1、中断优先级分组全部设置成抢占优先级-是为了方便freertos管理中断 即HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); 2、你的中断优先级设置必须是5-15当然也可以为0-4但这样不受控了 3、freertos只能控制5-15优先级的中断 4、0-4的中断因为rtos不可控所以禁止0-4的中断调用rtos的api函数因此设置抢占优先级必须≥5才行如果你设置成了4则rtos控制不了则无法控制别人抢占你或者你抢占别人 什么是中断 简介让CPU打断正常运行的程序转而去处理紧急的事件程序就叫中断 例 中断执行机制可简单概括为三步 中断优先级分组设置 ARM Cortex-M 使用了 8 位宽的寄存器来配置中断的优先等级这个寄存器就 是中断优先级配置寄存器因此最大中断的优先级配置范围位 0~255。但是芯片厂商一般用不 完这些资源对于 STM32只用到了中断优先级配置寄存器的高 4 位[7:4]低四位[3:0]取零处 理因此 STM32 提供了最大 2^416 级的中断优先等级 中断优先级配置寄存器的值与对应的优先等级成反比即中断优先级配置寄存器的值越小 中断的优先等级越高。 STM32 的中断优先级可以分为抢占优先级和子优先级抢占优先级和子优先级的区别如下 抢占优先级 抢占优先级高的中断可以打断正在执行但抢占优先级低的中断即中断嵌套。 子优先级 抢占优先级相同时子优先级高的中断不能打断正在执行但子优先级低的中的 中断即子优先级不支持中断嵌套。   STM32 中每个中断的优先级就由抢占优先级和子优先级共同组成使用中断优先级配置寄 存器的高 4 位来配置抢占优先级和子优先级那么中断优先级配置寄存器的高 4 位是如何分配 设置抢占优先级和子优先级的呢 一共有 5 种分配方式对应着中断优先级分组的 5 个组 通过调用函数HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4即可完成设置 老生常谈FreeRTOS只用分组4因为这样方便打断不用考虑子优先级了 中断优先级0为最高任务优先级0为最低 中断相关寄存器 三个系统中断优先级配置寄存器: 分别为 SHPR1、 SHPR2、 SHPR3 SHPR1寄存器地址0xE000ED18 SHPR2寄存器地址0xE000ED1C SHPR3寄存器地址0xE000ED20 表出自《Cortex M3权威指南(中文)》第286页 1. SHPR1 SHPR1 寄存器的地址为 0xE000ED18 用于配置 MemManage、 BusFault、 UsageFault 的中 断优先级 各比特位的功能描述如下表所示 2. SHPR2 SHPR2 寄存器的地址为 0xE000ED1C用于配置 SVCall 的中断优先级 各比特位的功能 描述如下表所示 3. SHPR3 SHPR3 寄存器的地址为 0xE000ED20用于配置 PendSV、 SysTick 的中断优先级 各比特 位的功能描述如下表所示 FreeRTOS 在配置 PendSV 和 SysTick 中断优先级的时就使用到了 SHPR3 寄存器 FreeRTOS 如何配置 PendSV 和 SysTick 中断优先级 PendSV和SysTick设置最低优先级 设置最低保证系统任务切换不会阻塞系统其他中断的响应 三个中断屏蔽寄存器 分别为 PRIMASK、 FAULTMASK 和BASEPRI FreeRTOS所使用的中断管理就是利用的BASEPRI这个寄存器 BASEPRI屏蔽优先级低于某一个阈值的中断 比如 BASEPRI设置为0x50代表中断优先级在5~15内的均被屏蔽0~4的中断优先级正常执行 建议参考知识库中GPT对话知识库——FreeRTOS中寄存器BASEPRI的作用 BASEPRI屏蔽优先级低于某一个阈值的中断当设置为0时则不关闭任何中断 关中断程序示例 #define portDISABLE_INTERRUPTS()vPortRaiseBASEPRI()static portFORCE_INLINE void vPortRaiseBASEPRI( void ){uint32_t ulNewBASEPRI configMAX_SYSCALL_INTERRUPT_PRIORITY;__asm{msr basepri, ulNewBASEPRIdsbisb}}#define configMAX_SYSCALL_INTERRUPT_PRIORITY( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY (8 - configPRIO_BITS) )#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY5/* FreeRTOS可管理的最高中断优先级 */ 中断优先级在5 ~ 15的全部被关闭 开中断程序示例 #define portENABLE_INTERRUPTS()vPortSetBASEPRI( 0 )static portFORCE_INLINE void vPortSetBASEPRI( uint32_t ulBASEPRI ){__asm{msr basepri, ulBASEPRI}} FreeRTOS中断管理就是利用BASEPRI寄存器实现的 当BASEPRI设置为0x50时 在中断服务函数中调度FreeRTOS的API函数需注意 1、中断服务函数的优先级需在FreeRTOS所管理的范围内 2、在中断服务函数里边需调用FreeRTOS的API函数必须使用带“FromISR”后缀的函数 参考链接 https://blog.csdn.net/weixin_44639540/article/details/129007015
http://www.zqtcl.cn/news/287807/

相关文章:

  • 网站描述修改潍坊百度网站排名
  • 网站开发设计的技术网站开发可能存在的困难
  • 单片机做网站网站地图那么建设
  • 手机版网站建设软件wordpress主题开发ide
  • 网站建设的技术有哪些内容网站推广优化排名
  • 网站开发用jsp网站开发需要什么技术
  • 网站打开404错误怎么解决网站开发树形图
  • 好的建设网站公司哪家好湖南省做网站的
  • 网站怎么上传网站建设可行性分析表
  • 东营做网站优化价格企业网站开发一般多少钱
  • 高端网站设计公司排名邢台哪里有做网站的
  • 广州网站开发 英诺科技营销式网站建设
  • 网站存在的缺陷编程的基础知识
  • flash同视频做网站天津建设工程信息网投标信息系统
  • 湛江做网站开发手机网址大全主页网址
  • 平面网站设计如何租用网站服务器
  • 课程视频网站建设的必要性专利减缓在哪个网站上做
  • 正规品牌网站设计品牌网站建设开发 脚本语言
  • 潍坊模板建站定制网站规划管理部门的网站建设
  • 光明楼网站建设九一人才网赣州招聘官网
  • 如何做网站监控wordpress修改文章点赞数
  • 佛山高端网站建设报价网站的建设属于无形资产
  • 永川网站设计wordpress+用户前台
  • 晋城客运东站网站开发公司装修通知告示怎么写
  • 北京做手机网站的公司哪家好完整的网站开发
  • 建立网站的内容规划长沙网络推广哪家
  • 网站建设及优化教程百度网站优化排名
  • 医院网站推广渠道网站关键词排名不稳定
  • 类网站建设陕西省建设资格注册中心网站
  • 网站横幅图片网页设计怎么创建站点