找回密码
 立即注册
楼主: 杨为民

STC单片机 uC/OS-II核心技术(4):关闭总中断的临界区保护方法测试

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-9-21 18:38:55 | 显示全部楼层
本帖最后由 LAOXU 于 2023-9-21 18:45 编辑


捕获b.JPG


捕获q.JPG




测试2_uCOSII-STC32G-V1.zip (1.07 MB, 下载次数: 90)






回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2023-9-21 21:45:14 | 显示全部楼层
LAO*** 发表于 2023-9-21 18:34
分析了一下相关程序, 使用了经典老掉牙的 PLC位操作方式, 保护 EA.

对 uCOS-II 来说, 可能属于 非典(非标) ...

请老杨在百忙之中, 帮忙测试一下.

(1)我很好奇,你为什么自己不能测试?是没有设备?还是不知道怎么测试?
(2)如果测试出来,你能判断测试结果是否正确吗?
(3)厨师在什么情况下写个菜谱请人炒菜尝味道,自己不能炒吗?
(4)要做科学研究,自己动手才是正道
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-9-22 04:07:55 | 显示全部楼层
我测试了, 只是初步测试, 手头没有逻辑仪, 只是观察运行结果 (led亮闪), 用的是追风剑.


111.jpeg 注: 图片为网上copy



测试1_uCOSII-STC32G-V1.00.rar 测试, 红框 和 蓝框 内 LED 均 闪亮(表明工作工常).


测试2_uCOSII-STC32G-V1.00.rar  测试, 红框 LED闪亮一次, 蓝框 内 LED 均 闪亮(速度加快)., 结合阅读程序, 得出结果, 任务A和任务B永远停止运行


经我修改后的 测试2_uCOSII-STC32G-V1 , 运行结果和 测试1 相同, 红框 和 蓝框 内 LED 均 闪亮(表明工作工常).


请老杨在百忙之中, 帮忙测试验证一下.

点评

(1)RTOS是一个实时运行的系统,其中的时序性很强。肉眼看效果是不能判断是否正确。 (2)你昨天的例子用的是V1.00老版本,你无论怎么改都不可能通过测试2的。 (3)如果你想涉足STC单片机RTOS,你一定要有逻辑分  详情 回复 发表于 2023-9-22 10:52
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-9-22 04:13:07 | 显示全部楼层
看了小熊的回贴, 已帮忙验证, 谢谢 老杨.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2023-9-22 10:52:02 | 显示全部楼层
LAO*** 发表于 2023-9-22 04:07
我测试了, 只是初步测试, 手头没有逻辑仪, 只是观察运行结果 (led亮闪), 用的是追风剑.

(1)RTOS是一个实时运行的系统,其中的时序性很强。肉眼看效果是不能判断是否正确。

(2)你昨天的例子用的是V1.00老版本,你无论怎么改都不可能通过测试2的。
(3)如果你想涉足STC单片机RTOS,你一定要有逻辑分析仪。我一般用下面这个
https://item.taobao.com/item.htm?spm=a1z09.2.0.0.30f32e8ducmC4q&id=571709378125&_u=mmk6lc18401

25元钱,24MHz的采样率,够了
(4)对于开源的RTOS移植版的讨论和交流方式,我的理解是:
1)先有一个移植版(比如熊仔的,然后你有了一个新方法(比如你的方法3),那么你就把你新方法加上去(就像你上传的你的程序)形成一个新的移植版本。但是你的程序必须命名为新的名称(比如LX-UCOSII-V1.01)发布,不能够直接以熊仔的版本发布,当然其中就像你已经注明的你在哪里进行了修改和来源说明。
2)采用这样规矩的目的是,如果你修改了,你的修改未必正确,即使正确,也未必符合来源版本作者的本意。当原移植者同意你对他的修改,那么他会采纳你的修改,注明修改的来源是你,形成他自己的新的移植版本。这样就保证了每个贡献者对自己作品的命名和修改权利。
3)如果原移植者不同意,那么事实上你的版本就形成了一个新的移植分支,你自己对你自己的分支负责任。
(5)其实昨天你的程序对于测试2是错误的,所以如果不了解情况的网友下载验证后,会觉得已经成功的熊仔怎么又推出个失败的版本了,由此产生误解。如果你使用你的LOGO,则不会产生误解和方便网友追踪溯源。
(6)欢迎你加入到STC单片机RTOS的世界来。对于具体的uC/OS-II移植版,临界区保护方法不需要原来的和历史的,只需要一种就够,也可使用方法0使其成为空的。所以你也可以在熊仔某个版本的基础上,去掉已有的所有临界区保护方法,只留一个你自己的方法5(不要再用方法3名称,以免产生误解),就形成了一个你自己的移植版。


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-9-22 12:26:06 | 显示全部楼层
谢谢老杨.
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 13:16 , Processed in 0.317120 second(s), 82 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表