消息队列、信号量集和软件定时器

所属分类:uCOS/RTOS
开发工具:C/C++
文件大小:847KB
下载次数:1
上传日期:2018-07-22 10:33:12
上 传 者lmybb
说明:  UCOSII的操作范例,关于信号量和邮箱的处理
(UCOSII operation example, about semaphore and mailbox processing.)

文件列表:
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\24CXX\24cxx.c (3804, 2016-07-14)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\24CXX\24cxx.h (1472, 2016-07-14)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\24CXX\myiic.c (2817, 2017-01-18)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\24CXX\myiic.h (1352, 2016-07-14)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\ADC\adc.c (2902, 2016-07-13)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\ADC\adc.h (1120, 2016-07-13)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\AP3216C\ap3216c.c (2816, 2016-07-15)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\AP3216C\ap3216c.h (761, 2016-07-15)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\CAN\can.c (7948, 2016-07-19)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\CAN\can.h (1116, 2016-07-19)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\DAC\dac.c (1255, 2016-07-13)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\DAC\dac.h (666, 2016-07-13)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\DCMI\dcmi.c (6456, 2016-07-21)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\DCMI\dcmi.h (1000, 2016-07-20)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\DHT11\dht11.c (2499, 2016-07-19)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\DHT11\dht11.h (1189, 2016-07-19)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\DMA\dma.c (2683, 2016-07-14)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\DMA\dma.h (784, 2016-07-14)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\DS18B20\ds18b20.c (3611, 2016-07-19)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\DS18B20\ds18b20.h (1311, 2016-07-19)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\EXTI\exti.c (2111, 2016-07-11)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\EXTI\exti.h (648, 2016-07-11)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\KEY\key.c (1579, 2016-07-11)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\KEY\key.h (960, 2016-07-11)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\LCD\font.h (66815, 2016-04-18)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\LCD\lcd.c (55973, 2016-07-20)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\LCD\lcd.h (5428, 2016-07-12)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\LCD\ltdc.c (17841, 2017-06-07)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\LCD\ltdc.h (3011, 2017-06-06)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\LED\led.c (792, 2016-07-11)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\LED\led.h (737, 2016-07-11)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\MPU\mpu.c (3900, 2016-10-06)
实验64 UCOSII实验3-消息队列、信号量集和软件定时器\HARDWARE\MPU\mpu.h (1800, 2016-09-24)
** (19342, 2016-04-18)
** (6765, 2016-04-18)
** (107241, 2016-05-12)
** (5278, 2016-04-18)
** (58404, 2016-04-18)
** (3538, 2016-04-18)
** (10454, 2016-04-18)
... ...

实验器材: 阿波罗STM32F7开发板 实验目的: 学习UCOSII的消息队列、信号量集和软件定时器等资源的使用. 硬件资源: 1,DS0(连接在PB1),DS1(连接在PB0) 2,按键KEY0(PH3)/KEY1(PH2)/KEY2(PC13)/KEY_UP(PA0,也称之为WK_UP) 3,PCF8574/AT8574(通过IIC接口连接,PH4/PH5,用于控制蜂鸣器) 4,按键KEY0(PH3)/KEY1(PH2)/KEY2(PC13)/KEY_UP(PA0,也称之为WK_UP) 5,触摸屏(TFTLCD模块自带了) 6,TPAD电容触摸按键(右下角LOGO,即TPAD,连接在PA5) 实验现象: 本章我们在UCOSII里面创建7个任务:开始任务、LED任务、触摸屏任务、队列消息显示任务、信号量集任务、按键扫描 任务和主任务,开始任务用于创建邮箱、消息队列、信号量集以及其他任务,之后挂起;触摸屏任务用于在屏幕上画图, 测试CPU使用率;队列消息显示任务请求消息队列,在得到消息后显示收到的消息数据;信号量集任务用于测试信号量集, 采用OS_FLAG_WAIT_SET_ANY的方法,任何按键按下(包括TPAD),该任务都会控制蜂鸣器发出“滴”的一声;按键扫描 任务用于按键扫描,优先级最高,将得到的键值通过消息邮箱发送出去;主任务创建3个软件定时器(定时器1,100ms溢 出一次,显示CPU和内存使用率;定时2,200ms溢出一次,在固定区域不停的显示不同颜色;定时3,,100ms溢出一次, 用于自动发送消息到消息队列),并通过查询消息邮箱获得键值,根据键值执行DS1控制、控制软件定时器3的开关、触摸 区域清屏、触摸屏校和软件定时器2的开关控制等。 通过按KEY0,可以控制DS1的亮灭; 通过按KEY1则可以启动tmr3控制消息队列发送,可以在LCD上面看到Q和MEM的值慢慢变大(说明队列消息在增多, 占用内存也随着消息增多而增大),在QUEUE MSG区,开始显示队列消息,再按一次KEY1停止tmr3,此时可以看到 Q和MEM逐渐减小。当Q值变为0的时候,QUEUE MSG也停止显示(队列为空)。 通过KEY2按键,清除TOUCH区域的输入。 通过KEY_UP按键,可以进行触摸屏校准(仅电阻屏有效)。 通过TPAD按键,可以启动/停止tmr2,从而控制屏幕的刷新。 注意事项: 1,4.3寸和7寸屏需要比较大电流,USB供电可能不足,请用外部电源适配器(推荐外接12V 1A电源). 2,本例程在LCD_Init函数里面(在lcd.c),用到了printf,如果不初始化串口1,将导致液晶无法显示!! 3,本实验需2 要将P11端子用跳线帽连接ADC&TPAD. 4,本实验改自内存管理实验。 5,本实验使用ucosii版本为V2.92。 正点原子@ALIENTEK 2016-8-14 广州市星翼电子科技有限公司 电话:020-38271790 传真:020-36773971 购买:http://shop62103354.taobao.com http://shop62057469.taobao.com 公司网站:www.alientek.com 技术论坛:www.openedv.com

近期下载者

相关文件


收藏者