LAOXU 发表于 2023-9-21 18:38:55

本帖最后由 LAOXU 于 2023-9-21 18:45 编辑

















杨为民 发表于 2023-9-21 21:45:14

LAOXU 发表于 2023-9-21 18:34
分析了一下相关程序, 使用了经典老掉牙的 PLC位操作方式, 保护 EA.

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

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

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

LAOXU 发表于 2023-9-22 04:07:55

我测试了, 只是初步测试, 手头没有逻辑仪, 只是观察运行结果 (led亮闪), 用的是追风剑.


注: 图片为网上copy



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


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


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


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

LAOXU 发表于 2023-9-22 04:13:07

看了小熊的回贴, 已帮忙验证, 谢谢 老杨.

杨为民 发表于 2023-9-22 10:52:02

LAOXU 发表于 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名称,以免产生误解),就形成了一个你自己的移植版。


LAOXU 发表于 2023-9-22 12:26:06

谢谢老杨.
页: 1 2 [3]
查看完整版本: STC单片机 uC/OS-II核心技术(4):关闭总中断的临界区保护方法测试