明月清风
发表于 2025-2-13 10:31:39
但是这种调度方式没有类似 os_delay()功能,用起来不方便。能改进下?
lzzasd
发表于 2025-2-13 18:22:12
明月清风 发表于 2025-2-13 10:31
但是这种调度方式没有类似 os_delay()功能,用起来不方便。能改进下?
你说的非常对 这个小系统可以做任务优先级 但公共延时函数没有 谁能写个适合的公共延时函数就完美了
明月清风
发表于 2025-2-21 17:16:36
tzz1983 发表于 2024-4-5 22:56
这个例子使用了函数指针, 函数指针是个好东西,
可是我不敢在keilC51, 或keilC251不开全局重入的时候用函数 ...
兄弟厉害啊,几乎都被你说中了。最近在某个项目用了这种轮询机制,用了4个任务,感觉时不时出一些莫名其妙的问题。当程序中的变量或指针变得多的时候,有些任务就调度不起来了。当触发了某些变量时,又突然能调度某个任务。找不到啥原因。
lzts
发表于 2025-3-14 09:06:23
谢谢分享
王锦平
发表于 2025-4-3 23:44:53
是三三啊 发表于 2024-12-16 17:17
定时器调度和操作系统调度有什么区别啊
它这个不会保存当前任务所用到的寄存器值&运行到哪一行(且一旦有任务里面有个长时间延时的阻塞,那么全局就跟着阻塞了),而OS会保存这些信息随后切换到其他任务。
王锦平
发表于 2025-4-3 23:56:18
明月清风 发表于 2025-2-13 10:31
但是这种调度方式没有类似 os_delay()功能,用起来不方便。能改进下?
他这种,在任务完成时才能切换。你可以配置一个定时器用作全局延时。
王昱顺
发表于 2025-4-4 07:56:18
明月清风 发表于 2025-2-13 10:31
但是这种调度方式没有类似 os_delay()功能,用起来不方便。能改进下?
https://www.stcaimcu.com/thread-16598-1-1.html
可以试试这个,很接近原生C语言的编写方式了
王昱顺
发表于 2025-4-4 07:56:49
王锦平 发表于 2025-4-3 23:56
他这种,在任务完成时才能切换。你可以配置一个定时器用作全局延时。
使用状态机+软定时器也是调度任务比较好的方式
明月清风
发表于 2025-4-24 09:52:08
王昱顺 发表于 2025-4-4 07:56
https://www.stcaimcu.com/thread-16598-1-1.html
可以试试这个,很接近原生C语言的编写方式了 ...
厉害。感谢回复,回头我测一下例程。
凡心
发表于 2025-5-22 09:18:19
学习起来