OpenEdv-开源电子网

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

有谁知道关于时间片轮转算法在单片机程序里的应用中的多任务通信问题!

[复制链接]

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
发表于 2013-5-20 20:44:11 | 显示全部楼层 |阅读模式
今天尝试了下时间片轮转算法在单片机程序里的应用,发现实现多任务时确实有它的优点,但缺点也很明显,就是只要涉及到任务间的通信时(比如将任务1产生的某个值传给任务2),就要使用全局变量。大家有没有办法不要使用全局变量传参?
还有就是时间片轮转算法在实际工程中用的多不多?
和顺序执行法哪个用的多?
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-20 20:57:49 | 显示全部楼层
回复【楼主位】可乐虎:
---------------------------------
你有高级点的办法么?
任务间通信:信号量、信号量集、邮箱、消息队列。都可以。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-5-20 22:27:56 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
多谢刘老师!我好好研究下
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-5-21 17:47:15 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
我用队列将键盘的键值入队,再在主程序里用读队首的方式获取键值,然后在做相应动作。这样就实现了键盘程任务和显示任务间的通信。但我的队列只能用作键盘和显示任务间的通信,还有其它的任务间的通信就没法实现了。用怎样的方法能使一个队列能用来实现多个任务间的通信呢? 最好讲下具体的实现啊!多谢
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-21 21:14:41 | 显示全部楼层
回复【4楼】可乐虎:
---------------------------------
2个队列,不就完了?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-5-21 21:35:49 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
这样不好吧?要是有很多个任务 那不是得用很多个队列吗??
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-22 00:21:22 | 显示全部楼层
回复【6楼】可乐虎:
---------------------------------
那你开动你的脑子,好好想想啊,别人怎么做到的?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-22 00:21:54 | 显示全部楼层
对了,最重要的是动手练习,光想不练,你得有霍金那水平才可以.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-5-22 11:06:47 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
我一直在写啊,多任务调度基本实现了,就差任务间的通信了!只是没思路,我就没法写了!想了很长时间也没想出个好办法~你要有简单实用的方法 就提示下啊!多谢
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-22 14:59:06 | 显示全部楼层
回复【9楼】可乐虎:
---------------------------------
多看下任哲那本书.深入了解下这些东西的使用,相信你能找到答案.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-5-23 19:17:01 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
好的 谢了!
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-19 08:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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