完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请教: lwip中,当由sys_timeout产生一个定时器事件时,这个定时器是怎样来定时的,需要同系统时钟(假设ucos)联系起来吗? TCP的高精度时钟(250ms)是怎样实现的呢? 看了LWIP的源码:以下为sys_timeout函数 Create a one-shot timer (aka timeout). Timeouts are processed in the following cases: while waiting for a message using sys_mbox_fetch() while waiting for a semaphore using sys_sem_wait() or sys_sem_wait_timeout() while sleeping using the inbuilt sys_msleep() [url=home.php?mod=space&uid=3142012]@param[/url] msecs time in milliseconds after that the timer should expire @param h callback function to call when msecs have elapsed @param arg argument to pass to the callback function / void sys_timeout(u32_t msecs, sys_timeout_handler h, void arg) 是不是依靠sys_mbox_fetch(),sys_sem_wait() or sys_sem_wait_timeout(),sys_msleep()来实现定时的 可能这是我想当然,可能定时器是依靠别的方式工作的,请各位赐教 谢谢! |
|
相关推荐
2个回答
|
|
实际上你已经说了一些,lwip的定时器是依赖系统的sys_arch_mbox_fetch, sys_arch_sem_wait调用
RTOS中一般会支持带超时标志的semaphore, mailbox调用,所以当获取一个semaphore、mailbox超时时,这也就基本上相当于一个定时器。 lwip也正是采用了这种机制实现了自己的定时器。 |
|
|
|
多谢指教
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
974 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2039 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2567 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
28070 浏览 11 评论
3360 浏览 0 评论
71819 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-4 19:01 , Processed in 0.670783 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号