news 2026/9/1 13:08:53

FreeRTOS中的回调函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
FreeRTOS中的回调函数

https://mp.weixin.qq.com/s/Q1awjcC572ukkRuAGXIRaAhttps://mp.weixin.qq.com/s/Q1awjcC572ukkRuAGXIRaA

FreeRTOS的软件定时器的核心机制是回调函数触发 当你调用xTimerStart()启动定时器时,系统会在指定时间后,自动调用你创建定时器时绑定的回调函数,例如:

// 创建定时器时,绑定回调函数 na_timer = xTimerCreate( "NA_Timer", // 定时器名称 pdMS_TO_TICKS(DEFAULT_NA_PERIOD * 1000), // 默认周期 pdTRUE, // 自动重载(周期触发) NULL, // 定时器ID NaTimerCallback // 绑定的回调函数 );

当定时器到期,FreeRTOS会自动调用CallBack函数 在这里介绍一个机制,就是FreeRTOS的事件驱动框架:FreeRTOS的Queue提供了任务到任务、任务到中断、中断到任务、中断到任务间的通讯机制。对于这些事件,可以定义如下枚举:

typedef enum{ TASK0_EVENT_0, TASK0_EVENT_1, TASK0_EVENT_2, ... }Task0EventType;

我们可能会这样做逻辑执行:

typedef struct Task0Event_t{ Task0EventType type; xxx; }Task0Event; static void ChangeState(Task0Event* event) { switch(event->type) { case TASK0_EVENT_0: ... break; case TASK0_EVENT_1: ... break; default: .. break; } }

这是很常见的写法,在一些业务中,另一种写法会更好一些:就是通过事件回调函数表

typedef struct EventProcessor_t { Task0Event event; Event_Handler handler; } EventProcessor; EventProcessor task0_event_table[] = { {TASK0_EVENT_0, event0_handler}, {TASK0_EVENT_1, event1_handler}, {TASK0_EVENT_2, event2_handler}, ...... }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 9:46:23

无需API!用FRCRN语音降噪镜像打造全自动双语字幕流程

无需API!用FRCRN语音降噪镜像打造全自动双语字幕流程 1. 为什么需要一套完全离线的双语字幕方案 你有没有过这样的经历:想给一段外语视频配上中英双语字幕,却卡在第一步——找不到稳定、免费、不依赖网络的工具链?市面上大多数方…

作者头像 李华
网站建设 2026/8/28 6:26:49

Z-Image-Turbo实战:消费级显卡实现秒级出图

Z-Image-Turbo实战:消费级显卡实现秒级出图 你是否还在为AI生图速度慢、显存要求高而烦恼?一张图等几十秒,A100起步的硬件门槛让普通用户望而却步。今天要介绍的这款开源模型,彻底改变了这一局面。 Z-Image-Turbo,阿…

作者头像 李华
网站建设 2026/8/28 16:35:38

斯坦福四足机器人Pupper V3:开源技术如何重塑智能机器人未来

斯坦福四足机器人Pupper V3:开源技术如何重塑智能机器人未来 【免费下载链接】StanfordQuadruped 项目地址: https://gitcode.com/gh_mirrors/st/StanfordQuadruped 为什么四足机器人技术长期以来难以在普通开发者和教育机构中普及?高昂的成本、…

作者头像 李华
网站建设 2026/8/29 9:30:24

MinerU能否识别竖排文字?中文古籍提取案例

MinerU能否识别竖排文字?中文古籍提取案例 1. 引言:古籍数字化的现实挑战 你有没有试过把一本线装书的扫描件丢进普通的PDF提取工具?结果往往惨不忍睹——文字错乱、段落颠倒,连页码都对不上。这背后的核心问题,是传…

作者头像 李华
网站建设 2026/8/28 15:54:21

SmartDNS配置完全指南:打造智能家庭网络的最佳实践

SmartDNS配置完全指南:打造智能家庭网络的最佳实践 【免费下载链接】smartdns A local DNS server to obtain the fastest website IP for the best Internet experience, support DoT, DoH. 一个本地DNS服务器,获取最快的网站IP,获得最佳上网…

作者头像 李华
网站建设 2026/8/28 23:21:47

AI抠图还能这么简单?科哥开发的UNet工具真实体验

AI抠图还能这么简单?科哥开发的UNet工具真实体验 你有没有过这样的经历:为了给一张人像换背景,折腾半小时PS通道抠图,结果发丝边缘还是毛毛躁躁;或者电商上新上百张商品图,每张都要手动去白底,…

作者头像 李华