- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LED闪烁—uCOS-II-消息邮箱
C:\Documents and Settings\Administrator\桌面\LED闪烁 uCOS-II-消息邮箱.c 2013年6月30 日星期日 16:39
// //
// app.c文件 //
////
/***************************************************************************************
****************
*** 硬件平台:奋斗开发板(V3.1)
*** 软件工具:KEIL3、串口调试助手(sscom4.2)
*** 内容简述:通过向串口1发送数据帧命令(数据帧命令格式:7E 4C 01 03 E8
E7,7E为帧头、4C为“L”,01为“LED1”,
03
E8为“设置灯延时时间1000MS”,E7为帧尾),串口中断判断这帧数据是否正确,如果
数据帧正确就通
过消息邮箱将相应的数据传给APP_TaskStart任务,从而改变灯的亮、灭时间。如果
想改变LED2灯的亮、
灭时间为200MS,可以发送数据帧命令为:7E 4C 02 00 C8 E7。
*** 作 者:JDのLOVE
*** 日 期:2013年06月28日
*** 固件版本:V3.5.0 (STM32)
*** 内核版本: V2.86 (uCOS-II)
****************************************************************************************
****************/
#include includes.h
#include bsp.h
volatile uint16_t LED1_Msec = 500, LED2_Msec = 500, LED3_Msec = 500;
/*** 定义消息邮箱指针 ***/
OS_EVENT *COM1_MBox;
/*** 定义任务堆栈 ***/
static OS_STK Task_StartStk [TASK_START_STK_SIZE];
static OS_STK Task_Led1Stk [TASK_LED1_STK_SIZE];
static OS_STK Task_Led2Stk [TASK_LED2_STK_SIZE];
static OS_STK Task_Led3Stk [TASK_LED3_STK_SIZE];
/*** 函数声明 ***/
static void APP_TaskStart (void *p_arg);
static void TaskCreate (void);
static void Task_Led1 (void *p_arg);
static void Task_Led2 (void *p_arg);
static void Task_Led3 (void *p_arg);
/*** 主函数 ***/
int main (void)
{
INT16U Version = 0;
/*** 禁止CPU中断 ***/
CPU_IntDis ();
/*** uCOS-II初始化 ***/
OSInit ();
-1-
C:\Documents and Settings\Administrator\桌面\LED闪烁 uCOS-II-消息邮箱.c 2013年6月30 日星期日 16:39
/*** 硬件平台初始化 ***/
BSP_Init ();
/*** 打印uCOS-II的版本号 ***/
Version = OSVersion ();
printf (\r\nThe uCOS-II Version is: %d\n, Version);
USART1_Printf (USART1, \r\n设置前:);
printf (LED1_Msec = %d, LED2_Msec = %d, LED3_Msec = %d\n, LED1_Msec, LED2_Msec,
文档评论(0)