jianxi258 发表于 2011-8-23 18:23:32

UCOS II 求助:针对共享资源互斥和指令积压问题

问题: 我建立了一个共享的数据转换任务,并使用FATFS 文件系统来保存转换后的数据文件,这个任务用时要1分钟 ,但是用来触发这个数据转换任务的指令大概是10S发一次,现在的问题是上一条指令的数据转换和保存都没结束,又开始响应下一条指令的数据转换和保存,这样就造成了上一条指令打开的文件还未关闭又将下一条指令的数据也保持到这个文件里了,有时指令因积压而丢失。
    请问怎么实现既能保证指令不会因积压丢失,且按指令先进先处理的顺序来处理完上条指令的数据转换和保存动作后且文件关闭,再接着进行下一条指令的数据转换和保存动作

谢谢!

ralfak 发表于 2011-8-25 16:52:42

用消息方式,不要用信号量,消息方式的参数就是你的指令数据
转换任务查询消息是否存在,不存在则阻塞,存在取一条转换,然后在PEND

visharn 发表于 2011-8-25 17:07:49

同意楼上

babaili2010 发表于 2011-9-13 17:26:33

路过。。
页: [1]
查看完整版本: UCOS II 求助:针对共享资源互斥和指令积压问题