OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3181|回复: 5

uCOS能实现这种功能吗?

[复制链接]

10

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2015-1-17
在线时间
16 小时
发表于 2015-12-24 08:35:13 | 显示全部楼层 |阅读模式
5金钱
我有一个任务A,他每个1秒钟会修改一次某个数组的数据。
同时有个任务B,他偶尔会发送修改数据的信号给A。
那我需要的功能是
A每一秒钟运行一次,如果中间被B唤醒了,醒来处理完成后再次进入休眠。
即不管有没有被B唤醒,A保证要1秒处理一次。
时间轴如下。

A 0.0秒睡眠---A 1秒苏醒----A 1秒睡眠-----B 1.3秒唤醒A----A 1.3s处理完成后睡眠-----A 2.0秒苏醒。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

125

帖子

0

精华

高级会员

Rank: 4

积分
844
金钱
844
注册时间
2013-4-27
在线时间
120 小时
发表于 2015-12-24 09:13:14 | 显示全部楼层
用flag应该可以,软件定时或者硬件定时给一个位控制1秒A处理一次,B给一个位控制任意时刻唤醒A,A请求flag任意一位满足就执行,否则挂起
回复

使用道具 举报

18

主题

422

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1139
金钱
1139
注册时间
2014-5-24
在线时间
116 小时
发表于 2015-12-24 09:40:27 | 显示全部楼层
如事务一样,那么两者合并,统一由B触发,这样避免了可能的并发。
I See Fire.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.  只给方向,不妨碍思考
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165225
金钱
165225
注册时间
2010-12-1
在线时间
2107 小时
发表于 2015-12-24 22:15:28 | 显示全部楼层
帮顶。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

95

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2451
金钱
2451
注册时间
2015-11-1
在线时间
300 小时
发表于 2016-2-13 15:35:29 来自手机 | 显示全部楼层
A定时1Sec加发Sem处理,B随机发Sem
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3761
金钱
3761
注册时间
2015-4-26
在线时间
761 小时
发表于 2016-2-14 09:26:22 | 显示全部楼层
那就加个C 每1s给A发消息
我有故事,你有酒吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-1 16:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表