找回密码
 立即注册
楼主: 熊***

最新版本uC-OS2-2.93.01已移植到STC8上,请帮忙查错

[复制链接]

该用户从未签到

11

主题

331

回帖

886

积分

荣誉版主

积分
886
 楼主| 发表于 2023-9-16 10:44:36 | 显示全部楼层
中断触发方式,对杨老师提出的临界区嵌套切换任务是不能成功运行的。估计这个只能说是特殊例子了。实际使用压根不会出现这样的案例。即便出现了也很容易发现这样做是有问题的,程序员自己改就是了。
回复 支持 反对 送花

使用道具 举报

该用户从未签到

20

主题

575

回帖

1191

积分

荣誉版主

积分
1191
发表于 2023-9-16 11:06:18 | 显示全部楼层
熊仔 发表于 2023-9-16 10:44
中断触发方式,对杨老师提出的临界区嵌套切换任务是不能成功运行的。估计这个只能说是特殊例子了。实际使用 ...

他提出的那个概念前提是错的, 对于用代码切换任务的例了, 临界区切换任务, 就是打断了临界区, 实际已经违规了(除了OS本身的任务切换, 因为机制的特殊性, 切换任务本身就是处在临界段), 除此之外, 在别的地方临界段切换任务都是错误的做法, 因为临界段的定义, 不尽尽是关中断, 它最核心是不可打断, 还包含那些有时序要求的, (比如这种情况,先清除一个IO电平,三个时钟后, 你抬高另一个电平, 不能多也不打少) .

对于中断切换的例子, 那就更不用多说了, 中断是滞后切换, 不会打断原来临界段, 并且你真要在临界段切换任务也行, 嵌套也没问题, 大大方方的让你用错, 也不会产生什么不良后果.

点评

同意 挑战者 观点  发表于 2023-9-23 04:10
回复 支持 1 反对 0 送花

使用道具 举报

该用户从未签到

63

主题

703

回帖

1万

积分

荣誉版主

积分
10906
发表于 2023-9-16 11:31:01 | 显示全部楼层
tzz1983 发表于 2023-9-16 09:38
这是嵌套问题, 和提不提前开中断没关系, 就是说已进入任务了, 也会发生. 只要是在执行中断向量口那条转移 ...

杨老师提到了"正统"二字, 反面映射就是说我的方法不正统啊, 呵呵, 我发现我现在就是喜欢怼杨老师, 自己也知为什么, 网友会不会反感这种行为?

(1)我不知道网友怎么想,但是我喜欢你来怼。年轻人不怼老年人,难道去怼小朋友?那叫欺负,这是一。世界是你们的,也是我们的,但是归根结底是你们的,这是二。
(2)科学技术“正统”存在的意义就是被“非正统”推翻,什么时候被推翻了,什么时候就进步了。量子论不推翻原子论,就没有今天的计算机技术,没有计算机技术,就没有这个论坛了。没有这个论坛,就没有你和我了(最后这句是哲学)。
(3)在科学上没有绝对真理,科学真理的正确性依赖于这个真理应用的时间、地点和对象,计算机科学技术和操作系统理论也是如此。比如传统(我提到的正统)操作系统理论的许多基本原理和方法,既不适用于并行计算机,也不适用于网络操作系统,更不适用于量子计算机。
(4)任何科学真理,都要经过检验,对于本论坛的主题“STC单片机RTOS”,当然也要经过检验,不是一推出来就完事了。所以我盯你,主要是盯你的新的任务切换方法的正确性。所以我会给出各种严苛的测试程序来进行检验,对其中的代码进行质疑,目的是通过争论来展示你的新方法的正确性、与传统/正统方法本质差别和新方法应用的边界在哪里,希望“tzz1983”你挺住(PS:我为你取了个昵称为“挑战者”,以后在论坛里我会称你的C251-UCOSII为STC32G单片机上“网友挑战者”的uC/OS-II移植版)。
回复 支持 反对 送花

使用道具 举报

该用户从未签到

20

主题

575

回帖

1191

积分

荣誉版主

积分
1191
发表于 2023-9-16 11:54:39 | 显示全部楼层
杨为民 发表于 2023-9-16 11:31
“杨老师提到了"正统"二字, 反面映射就是说我的方法不正统啊, 呵呵, 我发现我现在就是喜欢怼杨老师, 自己 ...

我自己那个代码, 现在已经发现了两个BUG, 稍迟一些发更新的代码出来, 唉, 本想发出来, 让别人去接, 自己背后坐享其成, 没想到把自己给搭进来了. 另外就是我并不是什么挑战者, 那代码也都是参照了FREERTOS汇编, 和STM32的思维, 顶多算个搬运工. 只因自身需要才去搞了一下, 高帽子不想戴

点评

(1)父母取的叫“姓名”,老师取的叫“学名”,师傅取的叫“法号”,坛主取的叫“昵称”,这些都不是由你自己能做主的,你就叫“挑战者”吧! (2)神来一脚,把你踢进门来了,就好好会会各种大侠吧,相信你会找到  详情 回复 发表于 2023-9-16 12:08
回复 支持 反对 送花

使用道具 举报

该用户从未签到

63

主题

703

回帖

1万

积分

荣誉版主

积分
10906
发表于 2023-9-16 12:08:35 | 显示全部楼层
tzz1983 发表于 2023-9-16 11:54
我自己那个代码, 现在已经发现了两个BUG, 稍迟一些发更新的代码出来, 唉, 本想发出来, 让别人去接, 自己 ...

(1)父母取的叫“姓名”,老师取的叫“学名”,师傅取的叫“法号”,坛主取的叫“昵称”,这些都不是由你自己能做主的,你就叫“挑战者”吧!

(2)神来一脚,把你踢进门来了,就好好会会各种大侠吧,相信你会找到快乐的
回复 支持 反对 送花

使用道具 举报

该用户从未签到

63

主题

703

回帖

1万

积分

荣誉版主

积分
10906
发表于 2023-9-19 16:21:24 | 显示全部楼层
https://www.stcaimcu.com/forum.p ... tid=4336&extra=
这是新的测试,请看看结论对不对
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    开心
    2023-12-5 17:26
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    15

    回帖

    131

    积分

    注册会员

    积分
    131
    发表于 2023-12-6 08:47:01 | 显示全部楼层
    请教一下,这个工程能串口仿真吗?仿真启动的时候就在这里死循环了。是我哪里搞错了?
    2.jpg

    点评

    用串口仿真需要改下xdata长度吧。保留一部分给仿真用。启动文件需要改。  详情 回复 发表于 2023-12-25 21:59
    是仿真设置的问题,有一个 Run to main(),需要打勾。。。  详情 回复 发表于 2023-12-6 13:52
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 11:08
  • 签到天数: 173 天

    [LV.7]常住居民III

    5

    主题

    579

    回帖

    2347

    积分

    荣誉版主

    积分
    2347
    发表于 2023-12-6 13:52:46 | 显示全部楼层
    yu2008 发表于 2023-12-6 08:47
    请教一下,这个工程能串口仿真吗?仿真启动的时候就在这里死循环了。是我哪里搞错了? ...

    应该是仿真设置的问题,有一个 Run to main(),需要打勾。。。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-5 17:26
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    15

    回帖

    131

    积分

    注册会员

    积分
    131
    发表于 2023-12-6 20:02:53 | 显示全部楼层
    本帖最后由 yu2008 于 2023-12-6 20:04 编辑
    CosyOS 发表于 2023-12-6 13:52
    应该是仿真设置的问题,有一个 Run to main(),需要打勾。。。

    测试了,不是这个问题。
    我直接下载的官方代码包,打开,编译,设置串口仿真,下载进入仿真,就是图上的结果。但直接用stc-isp下载 后复位运行是正常的。
    看来就是仿真哪里有问题
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-20 08:31
  • 签到天数: 57 天

    [LV.5]常住居民I

    5

    主题

    23

    回帖

    303

    积分

    中级会员

    积分
    303
    发表于 2023-12-20 14:27:36 | 显示全部楼层

    使用STC8H4K64TL芯片,使用P0都作为指示灯显示。时钟设置40MHz。设置成其他频率也变化不明显。
    修改Delay_MS(1000)的延时数值,感觉不管用。
    OSTimeDly(OS_TICKS_PER_SEC / 2);        // 500毫秒 这个延时好像也不管用呢?

    延时不起作用

    延时不起作用


    修改这几个数值,没什么大的变化,请问高手是什么原因?谢谢

    如果使用串口中断,是不是需要在isr_a.A51中仿照Timer1的中断使用汇编调用isr.c中的对应中断函数?

    点评

    你用的是例程上的代码吗, 我记得他这个例程是在演示关中断切换任务, 挂起自己..... 他用的是非阻塞延时, 独占CPU, 切换到其它任务去后, 延时的时间就关联到其它任务了. 所以只看这一小段代码不好全面分析. 这个例程  详情 回复 发表于 2023-12-20 15:00
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-18 05:05 , Processed in 0.070549 second(s), 67 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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