熊仔 发表于 2023-9-18 13:05:10

CosyOS 发表于 2023-9-18 12:16
CosyOS允许用户自由选择一个未使用的硬件中断,来做为软中断使用。




最好选择能自动清零的中断。当然手动也行,多执行一条清零语句。

你的os代码太庞大了。之前看了一下,没理清,没坚持下去。以后有时间再拜读一下。

CosyOS 发表于 2023-9-18 13:33:18

熊仔 发表于 2023-9-18 13:05
最好选择能自动清零的中断。当然手动也行,多执行一条清零语句。

你的os代码太庞大了。之前看了一下,没 ...

是的,能硬件自动清0的更好,然后中断清零的定义为空即可。

CosyOS 发表于 2023-9-18 13:43:47

另外,定时器0的时钟模式,会根据系统时钟和系统滴答周期自动配置为1T或12T,这个思路你可以参考一下。@熊仔

熊仔 发表于 2023-9-18 13:52:18

CosyOS 发表于 2023-9-18 13:43
另外,定时器0的时钟模式,会根据系统时钟和系统滴答周期自动配置为1T或12T,这个思路你可以参考一下。@熊 ...

tzz1983网友弄的自动分频。STC32有分频寄存器。STC8没有。其实一般使用1kHz,不改也行。



我也研究了一下,挺不错。

edalab 发表于 2023-9-18 14:03:11

如能将ucos2 stc8允许任务堆栈空间任意大小的功能移植到是stc32上来,stc32g8k64上ram就宽松了

熊仔 发表于 2023-9-18 14:33:20

edalab 发表于 2023-9-18 14:03
如能将ucos2 stc8允许任务堆栈空间任意大小的功能移植到是stc32上来,stc32g8k64上ram就宽松了 ...

STC8和STC32的ucos版本都支持任意大小堆栈。

edalab 发表于 2023-9-18 15:02:50

熊仔 发表于 2023-9-18 14:33
STC8和STC32的ucos版本都支持任意大小堆栈。


我指的是使用OSTaskCreate生成不同任务可设置不一样的堆栈尺寸,这样一些轻量任务可以设置较小size

熊仔 发表于 2023-9-18 15:08:09

edalab 发表于 2023-9-18 15:02
我指的是使用OSTaskCreate生成不同任务可设置不一样的堆栈尺寸,这样一些轻量任务可以设置较小size

...

STC8的ucos 新建任务函数OSTaskCreate改过的,需要增加堆栈大小。才能支持任意大小
STC32的不需要改,直接支持

edalab 发表于 2023-9-18 15:15:19

熊仔 发表于 2023-9-18 15:08
STC8的ucos 新建任务函数OSTaskCreate改过的,需要增加堆栈大小。才能支持任意大小
STC32的不需要改,直 ...

谢谢,我在stc32g8k64上试试看

熊仔 发表于 2023-9-18 15:58:38

调用OS_EventTaskRdy的系统函数。都会有改变优先级的可能。


有这么多。
中断退出前调用OSIntExit (),
OSIntExit ()调用OS_SchedNew ()




    OSPrioCur = OSPrioHighRdy;
    OSTCBCur= OSTCBHighRdy;

这两条必须在临界区读取和赋值
页: 1 [2] 3 4 5 6 7 8
查看完整版本: 最新版本uC-OS2-2.93.01已移植到STC32G上,请帮忙查错