找回密码
 注册
搜索
查看: 2817|回复: 9

[讨论] MTK 是如何实现 底层的延时?

[复制链接]
发表于 2011-5-24 00:30:06 | 显示全部楼层 |阅读模式
  1. 各位大哥,小弟在做项目的时候发现,底层不能用Delay的,那么底层是用什么来实现延时的?
  2. 如果你底层用delay了,他会把当前的系统挂起,导致上层什么都干不了,所以小弟想知道底层是如何来实现延时的?

  3. 希望知道的大哥告诉小弟一下!
  4. 万分感激!

  5. 今早发现 LCD的 delay 是这个

  6. 这个样子的
复制代码

static void LcdDelay(kal_uint32 delay_count)
{
        volatile kal_uint32 delay;
        for(delay = 0; delay < (delay_count*7000); delay++)
        {
        }
}

不知道这么做会不会造成task挂起。
[此贴子已经被作者于2011-5-24 9:29:55编辑过]
 楼主| 发表于 2011-5-24 22:38:51 | 显示全部楼层
那假如我要在底层 用这么一个延时, 怎么弄呢?
点评回复

使用道具 举报

发表于 2011-5-24 19:54:23 | 显示全部楼层
这个delay是用在初始化里的,按照平台来说,7000也就是0.5ms。
这样延时加多了肯定会有影响,但是放在屏的初始化里,一般的延时肉眼是看不出来的。延长个1S也没什么。
点评回复

使用道具 举报

 楼主| 发表于 2011-5-31 09:51:41 | 显示全部楼层
继续等待高人!来解答!!
点评回复

使用道具 举报

 楼主| 发表于 2011-5-27 10:52:55 | 显示全部楼层
哦 还没人会么?
点评回复

使用道具 举报

发表于 2011-12-17 12:56:26 | 显示全部楼层
不明白你的用途是什么,用for循环的那个lcddelay肯定是占用cpu的。
如果希望其他task还能运转,可以用sleep_task来挂起需要delay的task来实现。但是在中断里面不能用。
点评回复

使用道具 举报

发表于 2011-12-14 22:15:23 | 显示全部楼层
以下是引用87756528在2011-5-24 22:38:51的发言:
那假如我要在底层 用这么一个延时, 怎么弄呢?


就如你在正文中所用的那个延时函数一样啊,可以调用LCD中的延时函数,也可以自己写一个,就是个循环空操作而已,很简单
点评回复

使用道具 举报

发表于 2011-12-10 10:57:39 | 显示全部楼层
等待正解。[em01]
点评回复

使用道具 举报

发表于 2012-4-12 10:53:59 | 显示全部楼层
楼上高人
点评回复

使用道具 举报

发表于 2012-4-12 14:47:57 | 显示全部楼层
GPTI_StartItem
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-27 07:59 , Processed in 0.045443 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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