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

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

[复制链接]

11

主题

340

回帖

929

积分

荣誉版主

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

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

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

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

点评

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

使用道具 举报 送花

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

105

主题

1215

回帖

1万

积分

荣誉版主

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

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

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

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

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

点评

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

使用道具 举报 送花

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

105

主题

1215

回帖

1万

积分

荣誉版主

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

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

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

使用道具 举报 送花

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

105

主题

1215

回帖

1万

积分

荣誉版主

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-05 17:26:47

1

主题

15

回帖

133

积分

注册会员

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

点评

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:432
  • 最近打卡:2025-05-01 16:19:56

5

主题

1127

回帖

4263

积分

荣誉版主

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

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-05 17:26:47

1

主题

15

回帖

133

积分

注册会员

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

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

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:186
  • 最近打卡:2025-03-06 09:49:49

14

主题

133

回帖

1149

积分

金牌会员

积分
1149
发表于 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, 2025-5-2 11:13 , Processed in 0.140426 second(s), 117 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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