实例描述:
平台:MDK4.7+UCOSII+STM32F103
系统移植:http://blog.csdn.net/mcu_tian/article/details/48224361
UCOS II消息队列管理实例工程:http://download.csdn.net/detail/mcu_tian/9164937
该工程实例除了使用消息队列的实例之外,还有在APP文件夹中,对应的源文件中,定义了信号量、互斥信号量、事件标志组、消息邮箱的实例任务函数,如需使用只需要在main函数中,将对应的任务函数创建为任务即可。
工程中的重定向标准输出等参考:http://blog.csdn.net/mcu_tian/article/details/48413783
实例描述:消息队列实例一共三个任务函数,QTaskA、QTaskB、QTaskC 其定义都在q_example.c中
QTaskA任务的主要功能为:创建一个消息数目为QSIZE(5)的消息队列。同时有规律的想消息队列中循环发送消息。
QTaskB、QTaskC任务的主要功能任务的主要功能为:每隔100个时钟周期向消息队列申请消息,两个任务在得到消息之后,都会通过串口在串口助手上打印相关信息。
同时需要注意的是需要向自己定义消息队列的实体,void* QMessageStorage[QSIZE];
实验步骤如下:
1:在q_example.c中编写消息队列的任务函数QTaskA、QTaskB、QTaskC ,以及定义消息队列实体void* QMessageStorage[QSIZE];等
2:修改配置头文件中os_cfg.h的与消息队列相关的宏定义
3:在app.c文件main函数中,将创建对应的任务,并且启动系统,开启时钟调度等。