ucos请教

[复制链接]
2511|8
 楼主| lskam 发表于 2013-6-17 13:47 | 显示全部楼层 |阅读模式
第一次入手ucos,想请教个问题。
我现在建立4个任务   task1, task2, task3, task4。。其中 task2处有采样程序。在 task3出串口发出、想问下我在 task2处邮箱发出来的数据,在哪个任务中接收啊。。还有 OSMboxPost(AckMbox,(void *)1);这个程序是返回邮箱确认的,,其中那个1是什么参数啊,,,谢谢请教
wangliuliu566 发表于 2013-6-17 13:50 | 显示全部楼层
肯定是哪个任务使用,就在哪个任务中接收了
john_lee 发表于 2013-6-17 13:56 | 显示全部楼层
请楼主再看3遍书。
 楼主| lskam 发表于 2013-6-17 16:46 | 显示全部楼层
john_lee 发表于 2013-6-17 13:56
请楼主再看3遍书。

台兄可以说说不?
john_lee 发表于 2013-6-17 20:00 | 显示全部楼层
你的题目交代得太含糊,要说细节的话可以随后再讨论。

先只能笼统地谈谈。
一个项目设计,先要规划清楚各个事件的处理流程,流程主要根据事件处理的实时性来设计,事件的处理是否存在过载情况,绝对过载一定要避免(比如可以换更快的CPU或者适当降低设计指标),相对过载可以使用同步对象(semaphore,mailbox,event flags 等等)来缓冲事件及其相关数据,处理的环节要尽量简洁,能在一个任务中处理的事件,就不要无谓的传到其它任务里处理。
 楼主| lskam 发表于 2013-6-18 09:09 | 显示全部楼层
john_lee 发表于 2013-6-17 20:00
你的题目交代得太含糊,要说细节的话可以随后再讨论。

先只能笼统地谈谈。

我之前做的项目跑裸机的。用stm32做的。。程序量不大、35k左右,,现在是想加个ucos做下对比看看,那个好;;;ucos我没有花多少时间看,碰到不懂的再百度这样的。。。移植的差不多了,,就是一些细节的步骤流程还不是很懂,不过功能可以实现就是了,,像OSMboxPost(AckMbox,(void *)1);这个代表什么啊?
john_lee 发表于 2013-6-18 10:37 | 显示全部楼层
OSMboxPost(AckMbox,(void *)1);这个代表什么啊?
OSMboxPost(AckMbox,(void *)1) 是把整数值“1”作为一个mail 发送到一个名为 AckMbox 的同步对象,由于 OSMboxPost 函数只能接受指针类型的 mail 参数,所以必须把整数值“1”强制转换为指针类型。
至于这个 mail 的作用,你要去看谁获取了它并干了什么。
 楼主| lskam 发表于 2013-6-18 14:38 | 显示全部楼层
john_lee 发表于 2013-6-18 10:37
OSMboxPost(AckMbox,(void *)1) 是把整数值“1”作为一个mail 发送到一个名为 AckMbox 的同步对象,由于 OS ...

恩恩,,谢谢这位兄台,,这个问题已经弄懂了。。不过我遇到了新问题啊。。。就是我在用memcpy这个函数时会出现程序死在HardFault_Handler这里面。。。我在跑裸机的时候程序都正常,。请教哥啊。。可能会出现的原因是什么啊?
john_lee 发表于 2013-6-18 15:21 | 显示全部楼层
导致 hard fault 的原因很多,要查找到引起 hard fault 的那条指令才能知道。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

128

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部