关于UCOS任务卡死的原因分析
现象:函数function1()运行到“USART2SendData("\r\n",2)”时,UCOS任务卡死,最高优先级任务也不能运行。
分析:运行到USART2SendData("\r\n",2),因为UART2_SendEnable=0导致关掉中断后没有恢复现场(开中),任务不能切换,于是任务卡死。增加红色高亮部分代码,即可实现正常运行。
function1(void)
{
USART2SendData((uint8_t*)Buffer, strlen(Buffer));
USART2SendData("\r\n",2);
}
void USART2SendData(const uint8_t *pdata, unsigned int num)
{
OS_CPU_SR cpu_sr;
OS_ENTER_CRITICAL();
if(UART2_SendEnable==1)
{
UART2_SendEnable=0;
OS_EXIT_CRITICAL();
DMA_Cmd(DMA1_Stream6, DISABLE);
DMA1_Stream6->M0AR = (uint32_t)pdata;
DMA1_Stream6->NDTR = num;
DMA_Cmd(DMA1_Stream6, ENABLE);
}
else
{
OS_EXIT_CRITICAL();
}
}
关于UCOS任务卡死的原因分析相关推荐
- WPF--Dispatcher.BeginInvoke()方法使用不当导致UI界面卡死的原因分析
原文地址: http://www.tuicool.com/articles/F7reem http://blog.csdn.net/yl2isoft/article/details/11711833 ...
- 使用ch.ethz.ssh2中sess.execCommand方法导致线程卡死的原因分析
背景 前几天有同事反馈,说生产上的定时任务好像卡住了,没有执行. 上服务器,查看应用日志,定时任务确实没有执行. 分析 这种情况,第一时间先把线程dump文件导出来 分析dump文件,发现线程一直在执 ...
- 系统发生无故卡死原因分析
转自:https://my.oschina.net/xiaomu0082/blog/2990388?from=timeline&isappinstalled=0 作者分析了系统无故卡死的原因, ...
- C# 串口关闭时主界面卡死原因分析
问题描述# 前几天用SerialPort类写一个串口的测试程序,关闭串口的时候会让界面卡死. 参考博客windows程序界面卡死的原因,得出界面卡死原因:主线程和其他的线程由于资源或者锁争夺,出现了死 ...
- 粘包的原因分析及解决
文章目录 1 粘包的原因分析 2 客户端解决粘包的问题 3 服务端解决粘包的问题 1 粘包的原因分析 先看一下数据收发的示意图: 我们之前每次只处理一帧数据,如果接收端的处理速度力和发送端的发送速度不 ...
- Win10突然卡死的原因调查(转自yzhang)
本文原创作者:Win10突然卡死的原因调查_yzhuang的博客-CSDN博客_t7920死机 因不会转发,所以整个复制过来.如有侵犯,可联系:370239802@qq.com删除. -------- ...
- 记几次 [线上环境] Dubbo 线程池占满原因分析(第三次:GC STW)
[线上环境] Dubbo 线程池占满原因排查系列 记几次 [线上环境] Dubbo 线程池占满原因分析(第一次:HttpClient) 记几次 [线上环境] Dubbo 线程池占满原因分析(第二次:C ...
- 伺服和步进电机运行产生位置偏差的原因分析?
来源:网络 偏位问题,是使用步进或伺服电机的设备制造厂在设备装机调试,以及设备使用过程中,所面临的常见问题之一.出现偏位可能是机械装配不当造成,可能是控制系统与驱动器信号不匹配,也可能是设备内电磁干扰 ...
- dnf服务器未响应怎么解决方法,DNF未响应的原因分析与解决方法
在玩dnf时是否出现过电脑未响应的情况,这让很多玩家都苦恼不已,下面学习啦小编就为大家介绍一下具体的原因分析与解决方法吧,欢迎大家参考和学习. DNF未响应的原因分析: 第一种:内存使用率过低,电脑工 ...
最新文章
- 还记得Wasserstein GAN吗?
- 2021年春季学期-信号与系统-第八次作业参考答案-第六小题
- spring异常Unsatisfied dependency expressed through constructor parameter 0
- 《Fabric 云存储的电子健康病历系统》(3)病历结构体API
- c语言中 d的作用,C语言中%d,%o,%f,%e,%x的意义
- Android 从一个Activity跳转到另一个Activity获取第二个Activity的返回值
- JMeter环境搭建
- 解决win7的outlook打不开的问题
- 魅族16T“巨型”包装盒引人注目:旁边的16s Pro不要面子啊
- ubuntu上 grafana + influxdb + telegraf 安装配置
- Spark面试:Spark on yarn 运行流程
- 设计模式之三:观察者模式
- qq浏览文件服务器,腾讯浏览服务
- 被替换的项目不是替换值长度的倍数_机器学习中处理缺失值的9种方法
- opengl 保留上一帧_历史上第一部长片动画,还真有点重口
- 数字电路设计之数字电路工程师面试集锦
- 局域网vnc远程控制软件,盘点三款特别好用的局域网vnc远程控制软件
- Unity下SpriteSheet 使用
- ubuntu shell命令划重点
- 简单版捕鱼达人的制做
热门文章
- cocos2d中getasynckeystate android,分析Cocos2d-x横版ACT手游源代码 4、场景
- 苹果风波不断,Siri语音助手面临隐私诉讼
- 设计模式(四) 观察者模式
- python打开zip文件_Python操作Zip文件
- java gul_[java实战篇]--java的GUI(1)
- Python 如何进行JSON提取数据的字段值?
- caj转pdf的办法
- SAP MM MARD 表里的Storage Bin 字段
- AWD 线下攻防生存之道(Web 方向)
- python程序员加班多吗_程序员加班严重,如何才能不加班