项目简介
本项目是一个跨平台的异步协程库,专为嵌入式系统打造。适用于无法通过简单休眠函数中断主循环的场景,帮助开发者实现有限状态机和协作式服务。具有轻量、易移植、动态内存分配等特性,可在资源受限的嵌入式环境中使用。
项目的主要特性和功能
- 易移植性:支持多种嵌入式系统,方便移植。
- 动态内存分配:支持协程和调度器对象的动态内存分配。
- 单线程设计:隐藏主循环操作,仅使用一个线程。
- 宏定义支持:提供宏定义简化协程开发,也支持无宏使用。
- 无限快速软件定时器:支持连续、周期或未来的参数化回调。
- 易于扩展:代码结构清晰,便于扩展和适配。
- 无魔法代码:代码简洁,无隐藏逻辑。
安装使用步骤
假设用户已经下载了本项目的源码文件。
1. 在项目中包含cr/core.h
或cr/macros.h
头文件。
2. 根据需求创建协程和调度器对象,使用cr_new
初始化调度器。
3. 使用cr_new_routine
或cr_repeat
创建协程任务。
4. 在主循环中调用cr_service
函数来执行协程任务。
5. 根据项目需求,使用cr_wait
、cr_wait_for
等函数实现协程的异步等待和条件判断。
6. 编译并运行项目,调试协程逻辑。
注意事项
- 确保在嵌入式系统中正确配置时间获取函数
cr_port_get_time
。 - 协程任务中的等待时间单位为毫秒,需根据实际需求调整。
- 在资源受限的系统中,合理管理协程和调度器的内存分配。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】