
本帖最后由 wangdbff 于 2018-4-20 22:25 编辑 首先要认识一下队列, 队列是主要的任务间通讯方式。可以在任务与任务间、中断和任务间传送信息。大多数情况下,队列用于具有线程保护的FIFO(先进先出)缓冲区:新数据放在队列的后面。当然,数据也可以放在队列的前面。对于FreeRTOS来说可以直接把C变量传送到队列,而且队列是通过拷贝传递数据的,并不妨碍队列通过引用来传递数据。单个队列可以传送来自不同类型不同位置的信息。最重要的,队列内存区域分配是由内核完成的。 本次实验依旧是创建三个任务,包含两个队列任务和一个LED闪烁任务。其实保留这个点灯任务也可以当作状态指示,表明系统运行。任务如下
![]() ![]() 使用IAR可以在调试状态下查看实时状态,如下状态 ![]() 任务一扮演生产者的角色,任务1不断地向队列中填充内容,填充完之后该变量累加;任务2扮演消费者的角色,任务2不断的从队列中提取内容,并通过串口打印,这样就实现了实验的过程,验证了队列在任务间通信的作用。 |
MCSDK FOC应用详解
STM32F10xxx 正交编码器接口应用笔记 及源代码
基于STM32定时器ETR信号的应用示例
《无刷直流电机控制应用 基于STM8S系列单片机》
STM32定时器触发SPI逐字收发之应用示例
【银杏科技ARM+FPGA双核心应用】STM32H7系列10——ADC
【银杏科技ARM+FPGA双核心应用】STM32H7系列57——MDK_FLM
无刷直流电机控制应用+基于STM8S系列单片机---电子书
STM32 USB的程序,包含固件、驱动和测试用的应用程序
工业以太网总线ETHERCAT驱动程序设计及应用(扫描版)