完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
第19章 FreeRTOS定时器组 本章节为大家讲解FreeRTOS支持的定时器组,或者叫软件定时器,又或者叫用户定时器均可。软件定时器的功能比较简单,也容易掌握。被称为定时器组是因为用户可以创建多个定时器,创建的个数是可配置的。 本章教程配套的例子含Cortex-M3内核的STM32F103和Cortex-M4内核的STM32F407以及F429。 19.1 定时器组介绍 19.2 定时器任务(Daemon任务) 19.3 使用软件定时器组注意事项 19.4 定时器组API函数 19.5 实验例程说明 19.6 总结 19.1 定时器组介绍 FreeRTOS软件定时器组的时基是基于系统时钟节拍实现的,之所以叫软件定时器是因为它的实现不需要使用任何硬件定时器,而且可以创建很多个,综合这些因素,这个功能就被称之为软件定时器组。 既然是定时器,那么它实现的功能与硬件定时器也是类似的。在硬件定时器中,我们是在定时器中断中实现需要的功能,而使用软件定时器时,我们是在创建软件定时器时指定软件定时器的回调函数,在回调函数中实现相应的功能。 19.1.1 单次模式和周期模式 FreeRTOS提供的软件定时器支持单次模式和周期性模式,单次模式就是用户创建了定时器并启动了定时器后,定时时间到将不再重新执行,这就是单次模式软件定时器的含义。周期模式就是此定时器会按照设置的时间周期重复去执行,这就是周期模式软件定时器的含义。另外就是单次模式或者周期模式的定时时间到后会调用定时器的回调函数,用户可以回调函数中加入需要执行的工程代码。 |
|
相关推荐
|
|
定时器组回调函数的实现:
复制代码 /* ********************************************************************************************************* * 函 数 名: vTimerCallback * 功能说明: 定时器回调函数 * 形 参: 无 * 返 回 值: 无 ********************************************************************************************************* */ static void vTimerCallback(xTimerHandle pxTimer) { uint32_t ulTimerID; configASSERT(pxTimer); /* 获取那个定时器时间到 */ ulTimerID = (uint32_t)pvTimerGetTimerID(pxTimer); /* 处理定时器0任务 */ if(ulTimerID == 0) { bsp_LedToggle(1); } /* 处理定时器1任务 */ if(ulTimerID == 1) { bsp_LedToggle(2); } } |
|
|
|
|
|
《DNK210使用指南 -CanMV版 V1.0》第十一章 FPIOA管理器实验
178 浏览 0 评论
402 浏览 0 评论
539 浏览 0 评论
1948 浏览 1 评论
2098 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11429 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-9 18:20 , Processed in 0.495046 second(s), Total 47, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号