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

购物网站建设多少钱珠海市建设工程造价协会网站

购物网站建设多少钱,珠海市建设工程造价协会网站,logo制作规范,网站开发行业前景FreeRTOS任务优先级和中断的优先级 前言硬件中断的优先级规则FreeRTOS任务的优先级规则FreeRTOS对中断优先级的管理具体的应用场景说明 混淆点澄清FreeRTOS任务优先级 vs 中断优先级任务优先级与中断优先级的本质区别注意事项 FreeRTOS的中断管理逻辑任务与中断的交互规则 实践… FreeRTOS任务优先级和中断的优先级 前言硬件中断的优先级规则FreeRTOS任务的优先级规则FreeRTOS对中断优先级的管理具体的应用场景说明 混淆点澄清FreeRTOS任务优先级 vs 中断优先级任务优先级与中断优先级的本质区别注意事项 FreeRTOS的中断管理逻辑任务与中断的交互规则 实践举例任务优先级配置中断优先级配置允许调用API的中断配置禁止调用API的高优先级中断 前言 可能你也有这样的疑问中断的优先级数值越小优先级越大还是越小FreeRTOS的任务而言数值越小优先级是越大还是越小什么是FreeRTOS管理中断的逻辑这些FreeRTOS任务优先级和中断的优先级总是让人混淆本文就此问题展开论述。 硬件中断的优先级规则 在大多数微控制器如ARM Cortex-M中 数值越小优先级越高。 例如Cortex-M的中断优先级寄存器通常为8位但仅使用高几位如4位范围为0~15。其中 0 表示最高优先级可打断其他所有中断。15 表示最低优先级被其他中断打断。 FreeRTOS任务的优先级规则 FreeRTOS中 数值越大优先级越高。 通过tskIDLE_PRIORITY通常为0定义最低优先级用户任务优先级范围为1~configMAX_PRIORITIES-1。例如// 创建一个优先级为3的任务数值越大优先级越高 xTaskCreate(vTaskFunction, Task, 1000, NULL, 3, NULL);FreeRTOS对中断优先级的管理 在硬件中断优先级体系里数值越小就代表优先级越高。以ARM Cortex - M为例中断优先级的范围一般是0到15其中0是最高优先级15则是最低优先级。 FreeRTOS通过configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY宏定义最高可管理的中断优先级但这里的数值规则与硬件一致 数值越小优先级越高。 例如// 配置FreeRTOS可管理的最高中断优先级为5数值越小优先级越高 #define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5这意味着优先级数值≤5的中断其优先级较高而优先级数值5的中断优先级相对较低。 FreeRTOS借助调整BASEPRI寄存器来屏蔽优先级较低的中断以此保障关键操作像任务切换的原子性。这里有几个关键点需要掌握 可管理的中断优先级当配置为5时优先级数值≥5的中断能够被FreeRTOS屏蔽。这类中断可以安全地调用FreeRTOS的ISR专用API例如xQueueSendFromISR()。系统关键中断优先级优先级数值5的中断FreeRTOS无法对其进行屏蔽。这类中断属于高优先级中断在使用时要格外谨慎不能调用FreeRTOS API。 具体的应用场景说明 允许调用API的中断配置 对于那些需要和任务进行通信的中断要把它们的优先级设置为≥5。下面是一个示例 // 配置外部中断优先级为5和FreeRTOS可管理的最高优先级相同 NVIC_SetPriority(USART1_IRQn, 5);void USART1_IRQHandler(void) {// 进行接收处理BaseType_t xHigherPriorityTaskWoken pdFALSE;xQueueSendFromISR(xRxQueue, cRxChar, xHigherPriorityTaskWoken);// 若有必要进行任务切换portYIELD_FROM_ISR(xHigherPriorityTaskWoken); }禁止调用API的高优先级中断 系统关键中断例如滴答定时器SysTick其优先级数值要设置为5并且在中断服务函数中不能调用FreeRTOS API。示例如下 // 配置SysTick优先级为1高优先级不可被FreeRTOS屏蔽 NVIC_SetPriority(SysTick_IRQn, 1);void SysTick_Handler(void) {// 执行关键操作禁止调用FreeRTOS APItimer_update(); }混淆点澄清 FreeRTOS任务优先级 vs 中断优先级 任务优先级与中断优先级的本质区别 任务优先级 范围0空闲任务到configMAX_PRIORITIES-1。规则数值越大优先级越高高优先级任务可抢占低优先级任务。调度方式由FreeRTOS内核通过任务切换实现。 中断优先级 范围由硬件决定如Cortex-M的0~15。规则数值越小优先级越高高优先级中断可抢占低优先级中断。调度方式由硬件直接控制不受FreeRTOS调度器管理。 注意事项 任务 vs 中断中断优先级始终高于任务无论任务优先级多高中断都会立即响应。 FreeRTOS的中断管理逻辑 FreeRTOS通过调整BASEPRI寄存器屏蔽低优先级中断但屏蔽规则与硬件一致 若BASEPRI5则优先级数值≥5的中断被屏蔽优先级数值5的中断仍可触发。 任务与中断的交互规则 中断始终优先于任务 无论任务优先级多高当中断发生时 中断服务函数ISR会立即执行。任务被暂停直到ISR返回。 FreeRTOS对中断的限制 可管理中断优先级≥configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 可调用FreeRTOS API可能触发任务切换如xTaskResumeFromISR()。不可管理中断优先级configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 禁止调用FreeRTOS API执行期间无法被FreeRTOS屏蔽。 实践举例 任务优先级配置 使用较小数值定义低优先级任务较大数值定义高优先级任务 // 低优先级任务后台处理 xTaskCreate(vBackgroundTask, Background, 1000, NULL, 1, NULL);// 高优先级任务实时处理 xTaskCreate(vCriticalTask, Critical, 1000, NULL, configMAX_PRIORITIES-1, NULL);中断优先级配置 将需要调用FreeRTOS API的中断优先级设置为不低于configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY // 配置外部中断0的优先级为5与FreeRTOS可管理的最高优先级一致 NVIC_SetPriority(EXTI0_IRQn, configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY);这里的优先级数值必须大于等于5 允许调用API的中断配置 对于那些需要和任务进行通信的中断要把它们的优先级设置为≥5。下面是一个示例 // 配置外部中断优先级为5和FreeRTOS可管理的最高优先级相同 NVIC_SetPriority(USART1_IRQn, 5);void USART1_IRQHandler(void) {// 进行接收处理BaseType_t xHigherPriorityTaskWoken pdFALSE;xQueueSendFromISR(xRxQueue, cRxChar, xHigherPriorityTaskWoken);// 若有必要进行任务切换portYIELD_FROM_ISR(xHigherPriorityTaskWoken); }禁止调用API的高优先级中断 系统关键中断例如滴答定时器SysTick其优先级数值要设置为5并且在中断服务函数中不能调用FreeRTOS API。示例如下 // 配置SysTick优先级为1高优先级不可被FreeRTOS屏蔽 NVIC_SetPriority(SysTick_IRQn, 1);void SysTick_Handler(void) {// 执行关键操作禁止调用FreeRTOS APItimer_update(); }本文到此结束不知道您看到这里是否可以回答开头的问题如果有帮助到您欢迎点赞、收藏、转发
http://www.dnsts.com.cn/news/229543.html

相关文章:

  • 做网站的流程图基于构件的软件开发流程
  • 多网站后台问题个人网站 后台管理
  • 营口 微网站建设淄博铭锐 网站建设
  • 礼品网站设计网站建设 事项
  • 怎么制作网站视频播放器jsp网站开发详细教程
  • 网站收录很好没排名建设网站总结
  • 大连模版网站建网
  • 阳泉营销型网站建设社交电商是什么
  • 上海住房和城市建设厅网站wordpress主动提交
  • 专业做国际网站的公司wordpress安装mysql
  • 爱站网关键词查询公司网站建设文章
  • 教育网站建设的策划书搭建商城网站
  • 做淘宝客建网站用什么和卫通app下载
  • 大学生商品网站建设深圳商城网站
  • 官方网站下载安装云支付建筑工程网络推广
  • 哈尔滨城乡建设局网站首页官方软件下载大全
  • 没有网站怎么做网推黄冈网站建设哪家专业
  • 网站开发 外文文献网站的flash怎么做
  • 中国网站建设服务中心医院网
  • 网站建设入门教程pdf重庆网站建设科技公司
  • 网站开发行情app界面设计说明
  • 网站托管费河北省住房和城乡建设厅信用网站
  • 台州建设工程网站东莞网络推广价格
  • 建设银行网站服务功能深圳十大外包软件公司
  • 家居企业网站建设渠道广州市口碑全网推广报价
  • 专业做室内设计的网站有哪些方面智慧团建网站几点关闭
  • 罗湖网站建设价格长春网站建设翻译
  • 官方网站建设制作平台网站建设横幅标语
  • 东莞设计网站公司学校网站模版
  • 长沙企业网站seo建设部一建注册网站