UCOSII实验5:消息队列的使用测试
1. 实验目的:消息队列创建发送请求测试
2. 实验现象:KEY0按键按下,显示Received到的消息数据顺序为 4,3,2,1,0
KEY1按键按下,显示Received到的消息数据顺序为 0,1,2,3,4
当然,这只是测试程序,你的按键不要连续按。
3.用到的UCOSII函数
这里我们不重复讲解之前讲解过的函数。
消息队列创建函数:
OS_EVENT *OSQCreate (void **start, INT16U size)
LIFO方式发送消息函数:
INT8U OSQPostFront (OS_EVENT *pevent, void *msg)//后进先出
FIFO方式发送消息函数:
INT8U OSQPost (OS_EVENT *pevent, void *msg)//先进先出
OSTaskCreate()函数创建TaskStart任务,
在TaskStart任务4次调用ucos任务创建函数OSTaskCreate()创建4个任务:TaskLed,TaskLed1,TaskLCD,TaskKey 。同时创建消息队列
Str_Q = OSQCreate(&MsgGrp[0],N_MESSAGES);。
然后调用OSTaskSuspend()函数将TaskStart任务挂起,因为在4个任务创建后,TaskStart任务该做的事情已经完毕,挂起任务。然后4个任务在开始执行执行;
TaskLed: LED0循环闪烁,反转间隔为200ms
TaskLed1: LED1循环闪烁,反转间隔为200ms
TaskLCD: 每隔50ms请求消息队列,并显示得到的消息
TaskKey: 每隔20ms扫描按键值 。
TaskKey进行按键扫描,这里在任务TaskLCD和TaskKey之间有一个任务挂起OSTaskSuspend和恢复OSTaskResume操作,这个操作的目的是为了让按键扫描之后发送消息到消息队列完成之后,TaskLCD任务才开始请求消息邮箱,也就是消息发送完成了才开始请求,这样方便查看队列顺序。
如果为KEY0按下,那么以LIFO(后进先出)方式向消息队列发送消息0-4,发送之后,可以看到液晶显示收到的消息顺序为4,3,2,1,0,为什么?因为是后进先出嘛,自然最后发送的4最先收到了.
如果KEY1按下,那么以FIFO(先进先出)方式向消息队列发送消息0-4,发送之后,可以看到液晶显示收到的消息顺序为0,1,2,3,4,因为是先进先出嘛,自然最先发送的0最先收到.
注意:
1,本代码可以SWD下载,但是不支持仿真,下载完后,请拔了仿真器.否则可能导致部分功能不正常.
购买:http://shop62103354.taobao.com
http://shop62057469.taobao.com
技术支持论坛:www.openedv.com
ALIENTEK//广州星翼电子科技有限公司
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
STM32 FFT算法实现 (425个子文件)
startup_stm32f10x_hd._ia 176B
os_cpu_a.asm 7KB
UCOSII-5.axf 509KB
UCOSII-5_uvopt.bak 178KB
UCOSII-5_uvproj.bak 29KB
UCOSII-5.Uv2.bak 7KB
UCOSII-5.opt.bak 6KB
UCOSII-5_Opt.Bak 6KB
keilkilll.bat 399B
cc936.c 707KB
cc949.c 554KB
cc950.c 440KB
cc932.c 244KB
ff.c 134KB
stm32f10x_tim.c 107KB
stm32f10x_flash.c 61KB
stm32f10x_rcc.c 50KB
stm32f10x_adc.c 46KB
OS_CORE.C 45KB
stm32f10x_i2c.c 45KB
stm32f10x_can.c 44KB
stm32f10x_usart.c 37KB
OS_FLAG.C 36KB
system_stm32f10x.c 36KB
OS_TASK.C 35KB
stm32f10x_fsmc.c 35KB
OS_Q.C 34KB
picdecoder.c 32KB
lcd.c 30KB
ILI93xx.c 30KB
stm32f10x_spi.c 30KB
ccsbcs.c 29KB
stm32f10x_dma.c 29KB
stm32f10x_sdio.c 28KB
OS_MUTEX.C 24KB
OS_MBOX.C 23KB
stm32f10x_gpio.c 23KB
init.c 20KB
OS_SEM.C 19KB
stm32f10x_dac.c 19KB
core_cm3.c 17KB
touch.c 14KB
OS_MEM.C 14KB
stm32f10x_cec.c 11KB
复件 exfuns.c 11KB
OS_TIME.C 10KB
mmc_sd.c 10KB
os_cpu_c.c 9KB
rtc.c 9KB
stm32f10x_pwr.c 9KB
stm32f10x_rtc.c 8KB
flash.c 8KB
stm32f10x_bkp.c 8KB
misc.c 7KB
stm32f10x_exti.c 7KB
fattester.c 6KB
stm32f10x_it.c 6KB
stm32f10x_wwdg.c 6KB
diskio.c 5KB
main.c 5KB
stm32f10x_dbgmcu.c 5KB
mycc936.c 5KB
stm32f10x_iwdg.c 5KB
syscall.c 5KB
delay.c 5KB
remote.c 4KB
stm32f10x_it.c 4KB
text.c 4KB
usart.c 4KB
24cxx.c 3KB
stm32f10x_crc.c 3KB
fontupd.c 3KB
spi.c 3KB
iir_stm32.c 3KB
adc.c 3KB
exti.c 3KB
mouse.c 3KB
myiic.c 3KB
wkup.c 3KB
PID_C_stm32.c 3KB
tsensor.c 3KB
timer.c 2KB
dma.c 2KB
pwm.c 2KB
exfuns.c 2KB
my_fft.c 2KB
FFT6.c 2KB
delay.c 2KB
wdg.c 2KB
key.c 2KB
led.c 1KB
uCOS_II.C 1KB
sys.c 624B
main.crf 397KB
init.crf 382KB
my_fft.crf 372KB
remote.crf 365KB
os_task.crf 365KB
touch.crf 365KB
os_core.crf 364KB
共 425 条
- 1
- 2
- 3
- 4
- 5
资源评论
- sfxd1232017-07-06分太贵了,有一些参考价值
- qqwan1282013-12-12下下来看了下,资料全,适合有一定经验的
- Davidwangxx2014-08-09可读性差,不建议新手下载
cookie624
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功