完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
任务如下:
static void Task_abc(void *pdata) { pdata = pdata; while (1) { led(); OSTimeDlyHMSM(0, 0, 0, 1); } } u8 led(void) { 控制数码管1; 计数并判断小于25时亮,25-50灭并重新计数。实现数码管亮500ms,灭500ms。 delay_ms(1); 控制数码管2; delay_ms(1); 控制数码管3; delay_ms(1); ........ 共延时19ms; return 0; } #define OS_TICKS_PER_SEC 1000u 任务优先级最高。 问题是: led函数使用OSTimeDlyHMSM(0, 0, 0, 1)延时,正常亮灭各500ms。 使用delay_ms(1)延时时,计数250左右,才能实现亮灭各500ms。 为什么呢? 间隔20ms动态点亮数码管时,盯着数码管看不到闪烁,看旁边时,眼角能看到数码管闪烁。 想用delay_us减小这个时间,但是使用这两个函数时,为什么实际时间和理论对不上呢? 这两个延时不进行任务调度。跟这个有关系吗? |
|
相关推荐
2个回答
|
|
|
|
|
|
你用我们例程,测试下
|
|
|
|
只有小组成员才能发言,加入小组>>
689 浏览 1 评论
2117 浏览 5 评论
2429 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2194 浏览 6 评论
2163 浏览 7 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
315浏览 9评论
299浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
435浏览 6评论
300浏览 5评论
348浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-24 19:59 , Processed in 0.761487 second(s), Total 76, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号