现象:函数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任务卡死的原因分析相关推荐

  1. WPF--Dispatcher.BeginInvoke()方法使用不当导致UI界面卡死的原因分析

    原文地址: http://www.tuicool.com/articles/F7reem http://blog.csdn.net/yl2isoft/article/details/11711833 ...

  2. 使用ch.ethz.ssh2中sess.execCommand方法导致线程卡死的原因分析

    背景 前几天有同事反馈,说生产上的定时任务好像卡住了,没有执行. 上服务器,查看应用日志,定时任务确实没有执行. 分析 这种情况,第一时间先把线程dump文件导出来 分析dump文件,发现线程一直在执 ...

  3. 系统发生无故卡死原因分析

    转自:https://my.oschina.net/xiaomu0082/blog/2990388?from=timeline&isappinstalled=0 作者分析了系统无故卡死的原因, ...

  4. C# 串口关闭时主界面卡死原因分析

    问题描述# 前几天用SerialPort类写一个串口的测试程序,关闭串口的时候会让界面卡死. 参考博客windows程序界面卡死的原因,得出界面卡死原因:主线程和其他的线程由于资源或者锁争夺,出现了死 ...

  5. 粘包的原因分析及解决

    文章目录 1 粘包的原因分析 2 客户端解决粘包的问题 3 服务端解决粘包的问题 1 粘包的原因分析 先看一下数据收发的示意图: 我们之前每次只处理一帧数据,如果接收端的处理速度力和发送端的发送速度不 ...

  6. Win10突然卡死的原因调查(转自yzhang)

    本文原创作者:Win10突然卡死的原因调查_yzhuang的博客-CSDN博客_t7920死机 因不会转发,所以整个复制过来.如有侵犯,可联系:370239802@qq.com删除. -------- ...

  7. 记几次 [线上环境] Dubbo 线程池占满原因分析(第三次:GC STW)

    [线上环境] Dubbo 线程池占满原因排查系列 记几次 [线上环境] Dubbo 线程池占满原因分析(第一次:HttpClient) 记几次 [线上环境] Dubbo 线程池占满原因分析(第二次:C ...

  8. 伺服和步进电机运行产生位置偏差的原因分析?

    来源:网络 偏位问题,是使用步进或伺服电机的设备制造厂在设备装机调试,以及设备使用过程中,所面临的常见问题之一.出现偏位可能是机械装配不当造成,可能是控制系统与驱动器信号不匹配,也可能是设备内电磁干扰 ...

  9. dnf服务器未响应怎么解决方法,DNF未响应的原因分析与解决方法

    在玩dnf时是否出现过电脑未响应的情况,这让很多玩家都苦恼不已,下面学习啦小编就为大家介绍一下具体的原因分析与解决方法吧,欢迎大家参考和学习. DNF未响应的原因分析: 第一种:内存使用率过低,电脑工 ...

最新文章

  1. 还记得Wasserstein GAN吗?
  2. 2021年春季学期-信号与系统-第八次作业参考答案-第六小题
  3. spring异常Unsatisfied dependency expressed through constructor parameter 0
  4. 《Fabric 云存储的电子健康病历系统》(3)病历结构体API
  5. c语言中 d的作用,C语言中%d,%o,%f,%e,%x的意义
  6. Android 从一个Activity跳转到另一个Activity获取第二个Activity的返回值
  7. JMeter环境搭建
  8. 解决win7的outlook打不开的问题
  9. 魅族16T“巨型”包装盒引人注目:旁边的16s Pro不要面子啊
  10. ubuntu上 grafana + influxdb + telegraf 安装配置
  11. Spark面试:Spark on yarn 运行流程
  12. 设计模式之三:观察者模式
  13. qq浏览文件服务器,腾讯浏览服务
  14. 被替换的项目不是替换值长度的倍数_机器学习中处理缺失值的9种方法
  15. opengl 保留上一帧_历史上第一部长片动画,还真有点重口
  16. 数字电路设计之数字电路工程师面试集锦
  17. 局域网vnc远程控制软件,盘点三款特别好用的局域网vnc远程控制软件
  18. Unity下SpriteSheet 使用
  19. ubuntu shell命令划重点
  20. 简单版捕鱼达人的制做

热门文章

  1. cocos2d中getasynckeystate android,分析Cocos2d-x横版ACT手游源代码 4、场景
  2. 苹果风波不断,Siri语音助手面临隐私诉讼
  3. 设计模式(四) 观察者模式
  4. python打开zip文件_Python操作Zip文件
  5. java gul_[java实战篇]--java的GUI(1)
  6. Python 如何进行JSON提取数据的字段值?
  7. caj转pdf的办法
  8. SAP MM MARD 表里的Storage Bin 字段
  9. AWD 线下攻防生存之道(Web 方向)
  10. python程序员加班多吗_程序员加班严重,如何才能不加班