社区
高通开发者论坛
帖子详情
请问除了MSLEEP和ISHELL_SETTIMER之外,还有让程序延时的方法吗
asianeagle
2009-05-22 11:25:23
我现在是手机启动时要启动一个应用,但在EVT_NOTIFY里收到消息的时候,许多环境都还没有初始化好,所以MSLEEP和ISHELL_SETTIMER用了都不起效,不知道还有什么方法来让我的程序延时处理啊
...全文
1693
6
打赏
收藏
请问除了MSLEEP和ISHELL_SETTIMER之外,还有让程序延时的方法吗
我现在是手机启动时要启动一个应用,但在EVT_NOTIFY里收到消息的时候,许多环境都还没有初始化好,所以MSLEEP和ISHELL_SETTIMER用了都不起效,不知道还有什么方法来让我的程序延时处理啊
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
发现心流
2009-05-24
打赏
举报
回复
呵呵,厂商一般都是初始化失败 settimer(50ms), 继续初始化,直到成功为止
lz应该发扬不怕死机的精神放心大胆的搞
hhygcy
2009-05-22
打赏
举报
回复
你收到了notify消息的时候继续初始化有问题吗?
你在后台启动这个notify和start就是一个意思
tx040316
2009-05-22
打赏
举报
回复
如果只是想延时很简单啊,用一个while循环啊:
int time = GETTIMEMS();
while(GETTIMEMS()-time<80)
{
};
你想要多长就修改上面的80就行了。这个最好是在初始化完后,还没有进行SOCKET操作前调用。
asianeagle
2009-05-22
打赏
举报
回复
我不是关心初始化,我要做的是当机器启动的时候自动运行BREW程序,我的BREW程序是用ISOCKET对外发包,问题是我发现刚收到EVT_NOTIFY消息就去进行ISOCKET操作会失败,所以我想让程序停一下再初始化ISOCKET,但这个时候MSLEEP和SetTimer也无效,都没法使用
hhygcy
2009-05-22
打赏
举报
回复
[Quote=引用 2 楼 wireless_com 的回复:]
如果你是手机厂商,就有很多办法,如果是一般开发者,你为什么要关心初始化呢?
[/Quote]
我相信, 你是不是厂商啊? 好像对这个很了解哦
半吊子全栈工匠
2009-05-22
打赏
举报
回复
如果你是手机厂商,就有很多办法,如果是一般开发者,你为什么要关心初始化呢?
happyday03-Linux内核的
延时
函数.docx
happyday03-Linux内核的
延时
函数.docx
m
sleep
和m
sleep
_interruptible
原来m
sleep
还有个弟弟 /** * m
sleep
-
sleep
safely even with waitqueue interruptions * @msecs: Time in milliseconds to
sleep
for */ void m
sleep
(unsigned int msecs) { unsigned long timeout = msecs_to_jiffies(msecs) + 1; while (timeout) timeout = schedule_tim
内核定时机制API之m
sleep
和 m
sleep
_interruptible
void m
sleep
(unsigned int msecs) 用于睡眠一段时间。不能用于原子环境 其源码分析如下: void m
sleep
(unsigned int msecs) { #可见timeout的时间是在形参的基础上再加一个jiffies,这也说明m
sleep
睡眠的后wakeup #的时间不是很准确,一般会在时间到期后的下一个jiffies再wakeup unsigned lo
linux kernel --- 延迟函数udelay m
sleep
u
sleep
_range...
linux 驱动开发过程中,经常会用到延迟函数:udelay,mdelay,u
sleep
,m
sleep
,u
sleep
_range… 一、mdelay和m
sleep
的本质区别 1、从模块本身分析: mdelay,属于忙等待函数(相当于for循环),在延迟过程中无法运行其他任务,这个时间是准确的,需要等待多少实际就会等待多少时间; m
sleep
,属于休眠函数,不会忙等待,时间是不准确的,比如m
sleep
(200),大概率是会等待多于200ms的。 2、从系统角度分析: mdelay,会占用系统资源,导致其他功能
内核
延时
函数
1) m
sleep
:实现毫秒级的
延时
,该
延时
保证至少
延时
所设置的
延时
时间,不会提前超时返回,会让出CPU void m
sleep
(unsigned int msecs) { unsigned long timeout = msecs_to_jiffies(msecs) + 1; while (timeout) timeout = schedule_timeout_uninte
高通开发者论坛
2,853
社区成员
5,758
社区内容
发帖
与我相关
我的任务
高通开发者论坛
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
复制链接
扫一扫
分享
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能
物联网
机器学习
技术论坛(原bbs)
北京·东城区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章