FreeRTOS操作系统,在按键中断函数中恢复被挂起的任务,程序卡死的原因和解决办法
- 在使用FreeRTOS系统时,如果想在中断中恢复一个被挂起的任务,需要使用 xTaskResumeFromISR(TaskHandle_t xTaskToResume)函数,而不是 xTaskResume(TaskHandle_t xTaskToResume) 函数。
- 当单片机芯片使用的是CM内核的MCU,官方强烈建议将NVIC的优先级分组配置为全抢占式优先级,没有响应式优先级。这样方便系统管理。我看了以下我的设置:HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); 全为抢占式优先级,正常。
- 在系统的 FreeRTOSConfig.h 配置头文件里,定义了一个宏定义:#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 。它的意思是:用户可以在抢占式优先级为 5 - 15的中断里调用FreeRTOS的API函数(抢占式式优先级为0的中断里面不允许调用)。仔细看,我定义的是从5-15的优先级中断可以去调用系统的API,但是上面的代码中,我把两个按键的优先级设置为2和3,已经超过了5-15的抢占式优先级范围,所以我按下按键后,调用不了恢复任务函数!
- 我将 #define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 宏定义改为 #define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY (因为0级抢占式优先级不允许用户使用)。这表明 在 1 - 15级的抢占式优先级范围,我的按键3和按键4的中断优先级在范围之内,可以调用系统的API函数了。这样,我的问题就解决了。
FreeRTOS操作系统,在按键中断函数中恢复被挂起的任务,程序卡死的原因和解决办法的更多相关文章
- jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法 在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...
- php数组使用json_encode函数中文被编码成null的原因和解决办法
大写的囧,提客户处理问题,前端的APP一直在叽叽咂咂,说收到的值是null,弄了半天原来是这个问题,记录下吧 json格式在开发中用的十分广泛.在php中json_encode函数可以直接将数组转成 ...
- stp域中两台switch互联接口出现两口均为root口 并且在现有stp区域中无法确定根桥设备位置;分析其原因并赋予解决办法
stp域中两台switch互联接口出现两口均为root口 并且在现有stp区域中无法确定根桥设备位置:分析其原因并赋予解决办法 1.于上图描述了案例中当前组网环境的各交换机位置与stp状态情况 : ...
- eclipse中tomcat发布失败(Could not delete May be locked by another process)原因及解决办法
在eclipse中tomcat发布项目时,偶尔出现了以下情况: publishing to tomcat v7.0 services at localhost has encountered a pr ...
- vue在html中出现{{}}原因及解决办法
在刚开始接触vue的时候,我们都是直接用<script>引入vue.js使用.没有借助vue-cli脚手架来构建项目. 对于一个初学者来说,跟着文档慢慢搬砖,使用vue进行数据绑定. 记得 ...
- Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法
转: Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法 更新时间:2018年02月14日 17:13:03 投稿:wdc 我要评论 Java开发中 ...
- Controller中页面跳转完后页面的样式全消失的解决办法
问题的原因应该是在controller中进行页面跳转时当前文件的路径变了 解决办法: 1.在jsp页面中<%@ page language="java" contentTyp ...
- 中断函数中不能使用printf的原因
vxworks 中断处理程序之所以不用printf,本质在于printf是将信息输出到标准输出设备(STDOUT)中, 整个标准输出设备是一个全局变量,由于有semTake操作,那么就会发生阻塞,vx ...
- [hadoop] map函数中使用FileSystem对象出现java.lang.NullPointerException的原因及解决办法
问题描述: 在hadoop中处理多个文件,其中每个文件一个map. 我使用的方法为生成一个文件,文件中包含所有要压缩的文件在HDFS上的完整路径.每个map 任务获得一个路径名作为输入. 在eclip ...
随机推荐
- flyway 非常坑爹的中文乱码问题
flyway 也真是够了, 动不动乱码,烦死了! 我的 命令是这样的: flyway -driver=com.mysql.jdbc.Driver -user=root -password=12345 ...
- GO语言编译环境采用gosublime(19新版)
环境:博主已下载好,并安装在E:/SDK,使用过sublime text3,有git 0x00 环境变量 默认已经有GOPATH(代码存放在这),PATH(安装go的bin目录即E:\SDK\bin) ...
- winform删除dataGridView列报异常:System.IndexOutOfRangeException:“索引 7 没有值
winform界面如下: using System; using System.Collections.Generic; using System.ComponentModel; using Syst ...
- k8s的yaml说明
理解k8s里的几个概念 Kubernetes 通过各种 Controller 来管理 Pod 的生命周期.为了满足不同业务场景,Kubernetes 开发了 Deployment.ReplicaSet ...
- VUE程序调试的方法
目录 VUE程序调试的方法 1.写本文的背景 2.调试与测试 3.Console调试法 3.1 添加console.log指令 3.2 调出温度界面如下 3.3 Google浏览器的Console窗口 ...
- HTML基础——基础标签
一.HTML概述 htyper text markup language 即超文本标记语言. 超文本: 就是指页面内可以包含图片.链接,甚至音乐.程序等非文字元素. 标记语言: 标记(标签)构成的语 ...
- Android 网络交互之移动端与服务端的加密处理
在开发项目的网络模块时,我们为了保证客户端(Client)和服务端(Server)之间的通信安全,我们会对数据进行加密. 谈到网络通信加密,我们可以说出:对称加密,非对称加密,md5单向加密,也能提到 ...
- CSS 学习手册
目录 CSS 简介 1.CSS 简介 CSS 概述 层叠次序 2.CSS 基础语法 CSS 语法 值的不同写法和单位 记得写引号 多重声明: 空格和大小写 3.CSS 高级语法 选择器的分组 继承及其 ...
- 【Java基础】Annotation 的本质和自定义实现
Java 中注解的实现原理 一.引言 在 Java5 之前,利用 xml 进行配置是各大框架的常规操作,这种方式可以实现松耦合并完成框架中几乎所有需要的配置,但随着项目的扩展,xml 文件本身的内容将 ...
- SpringBoot 日志系统
日志框架 开发一个大型系统的简易步骤: system.out.println("..") 将关键的数据在控制台输出 框架记录系统的一些运行时的信息,---日志框架. 牛逼的功能-- ...