OpenEdv-开源电子网

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

如何拒绝单片机延时??

[复制链接]

71

主题

183

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
494
金钱
494
注册时间
2013-1-29
在线时间
1 小时
发表于 2013-5-16 11:52:40 | 显示全部楼层 |阅读模式
应为外设和单片机通讯的时候 由于外设反应速度太慢 单片机总是需要延时函数来等待外设就绪 让单片机空转  包括按键延时也一样 但是 这样大大降低的单片机程序的执行效率 一般单片机效率都不足5%  我写的程序没有操作系统支持 请问有什么别的好方法 能够提高单片机的效率  我想把delayus(5) 这种延时都去掉 这段时间让单片机去做别的事情!

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

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2013-5-16 11:58:59 | 显示全部楼层
毫秒级别的延时可以考虑用状态机。
微秒级别的你还想切换任务?老老实实loop吧。
业余程序玩家。
回复 支持 反对

使用道具 举报

0

主题

21

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2013-2-22
在线时间
0 小时
发表于 2013-5-16 12:05:28 | 显示全部楼层
想办法用中断
回复 支持 反对

使用道具 举报

96

主题

762

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1228
金钱
1228
注册时间
2012-10-19
在线时间
15 小时
发表于 2013-5-16 12:21:48 | 显示全部楼层
微秒级的还是继续等待吧,中断是跟不上的!操作系统也免谈,LINUX都是毫秒级的
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-16 12:30:10 | 显示全部楼层
对,us级别,要去做别的事,得不偿失。
用OS,最快也就1000次切换/秒,已经算是非常频繁了,这个无形中增加了任务切换给cpu带来的负担。
1000次,也就是1ms,你要5us,那还得扩大200倍!!!
所以不可想象,5us级别的任务切换....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-19 18:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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