OpenEdv-开源电子网
标题:
求助!关于UCOS-异地任务挂起,关闭,启动等问题
[打印本页]
作者:
wanghtao0418
时间:
2019-7-5 11:32
标题:
求助!关于UCOS-异地任务挂起,关闭,启动等问题
如图,目前有个小小的疑问,不知道各位同仁是否与思考过。
如果在不同的.c文件中定义了多个任务#define 。。。(比如例子里面都定义在了main中),在main函数中可以操作挂起之类的所有操作。但是如果需要在其他的.c中想操作在main中定义的任务,就会出现问题。例如通过串口.c发送命令控制不同的任务启动挂起之类的。
简而言之,就是如何在不同的.c中管理某一个已经在其他地方定义好的任务。
谢谢啦
作者:
xuchanghe110
时间:
2019-8-7 10:03
http://www.openedv.com/forum.php ... &extra=page%3D1
看看我的呀,手写笔记。现在写的是《工厂篇》,准备在写一个《后宫篇》。
我还没开始做操作,只是在弄理论层的。我觉的吧,一通百通的。
你先看一下我上面的图,然后看我的解释哈。
1/不同的模块(.c)文件生成的flash都是可寻址的。就好比工厂里的加工艺表。不能修改,单是有固定的页码。
2/在车间里有很多个工作台(对应多个任务的内存RAM).在工作台上有一个记事本,一些工具。
3/记事本里有一个写页码的地方,只有一个工作台时,这个页码是空的,没内容。
4/增加工作台时,把第二个工作台的编号放到前面那个工作台的记事本的页码记录的地方。
5/这个就是链表了。
6/要删除一个任务的时候,就是把那个任务的工作台桌子给拿回仓库(就是把raM内存收回),比如把6号桌的加工工艺取消,那么就把5号的记下本上的下一个工艺地址改成7号桌的地址。
7/说了这么多,就是你上面的问题不存在啊。都是指针操作的。
8/不管厂长在那个桌子上做事,只要是回到办公室把6号桌弄回仓库都是可以的。那里的ram就空出来了。
作者:
wanghtao0418
时间:
2020-2-26 15:24
非常感谢你的回复啊。解释的很到位。谢谢啦
欢迎光临 OpenEdv-开源电子网 (http://www.openedv.com/)
Powered by Discuz! X3.4