项目概述
本案例使用移远通信EG800Z-CN开发板和UniRTOS,实现了一个简单的多线程并发程序,创建两个线程,分别打印不同的内容,展示多任务“同时”执行的效果。适合新手和初学者了解如何使用UniRTOS实现多任务并发。
功能特性
基于多线程的并发任务执行
- 独立线程并发运行:创建两个独立的任务线程,实现不同内容的并行打印输出,互不干扰。
- 差异化任务处理:每个线程执行专属的打印逻辑,可输出自定义的、具有区分度的信息流。
开发准备
硬件要求

- USB数据线(USB-A转USB-C),点此购买。

软件要求
- Quectel USB驱动,点此获取。
- UniRTOS SDK,请联系技术支持获取。
- EPAT工具:移芯平台日志调试工具,点此获取。
快速上手
下载项目
示例代码位于UniRTOS官方创客仓库,点此访问下载。
添加项目到UniRTOS SDK
SDK新增Demo,固件编译和烧录请参考UniRTOS板块的快速启动。
硬件连接
使用USB数据线连接开发板和电脑即可。
日志展示

代码概览
示例工作流程

主要功能接口
unir_test_demo_init
- 功能:程序入口,创建两个线程。
- 关键操作:
- 创建任务:调用qosa_task_create创建task A和task B。
- 删除任务:调用qosa_task_delete创建task A和task B。

其他接口
如有其他需求,如挂起线程,终止线程等,参考如下:
- qosa_task_suppend:挂起线程任务。
- qosa_task_resume:恢复被挂起的线程任务。
- qosa_task_get_current_ref:获取当前线程的任务句柄。
- qosa_task_change_priority:改变线程的优先级。
- qosa_task_get_priority:获取线程的优先级。