📄 app.c
字号:
#include "includes.h"
#define TASK_STK_SIZE 64 /* 定义任务堆栈大小 */
OS_STK TaskStartStkA[TASK_STK_SIZE];
OS_STK TaskStartStkB[TASK_STK_SIZE];
void TaskStartA(void *data); /* 前导声明任务(函数) */
void TaskStartB(void *data); /* 前导声明任务(函数) */
void main (void)
{
WDTCTL = WDTPW + WDTHOLD; /* 禁止看门狗 */
OSInit(); /* 初始化uCOS-II */
OSTaskCreate(TaskStartA, (void *)0, &TaskStartStkA[TASK_STK_SIZE - 1], 0);
OSTaskCreate(TaskStartB, (void *)0, &TaskStartStkB[TASK_STK_SIZE - 1], 1);
OSStart(); /* 开始任务调度 */
}
void TaskStartA (void *pdata)
{
pdata = pdata; /* 无任何意义,防止编译器报警 */
WDTCTL = WDT_MDLY_32; /* 设置时钟节拍间隔为32ms */
IE1 |= BIT0; /* 开看门狗定时器中断 */
/*************************************
* 应用程序初始化
*************************************/
P1SEL &= BIT0;
P1DIR |= BIT0;
while (1) {
/******************************************************************************************
* 测试代码
*
× 此处我们仅测试移植代码的正确,只是定时在P1.0输出高低电平,对应MSP-FET449学习板的P1.0 LED闪烁。
*
* MSP430F449
* -----------------
* /|\| XIN|-
* | | |
* --|RST XOUT|-
* | |
* | P1.0|-->LED
*
*******************************************************************************************/
P1OUT ^= BIT0;
OSTimeDly(10); /* 眼时10个时钟节拍,挂起本任务等待延时结束 */
}
}
void TaskStartB (void *pdata)
{
pdata = pdata; /* 无任何意义,防止编译器报警 */
WDTCTL = WDT_MDLY_32; /* 设置时钟节拍间隔为32ms */
IE1 |= BIT0; /* 开看门狗定时器中断 */
/*************************************
* 应用程序初始化
*************************************/
P1SEL &= BIT1;
P1DIR |= BIT1;
while (1) {
/******************************************************************************************
* 测试代码
*
× 此处我们仅测试移植代码的正确,只是定时在P1.0输出高低电平,对应MSP-FET449学习板的P1.0 LED闪烁。
*
* MSP430F449
* -----------------
* /|\| XIN|-
* | | |
* --|RST XOUT|-
* | |
* | P1.0|-->LED
*
*******************************************************************************************/
P1OUT ^= BIT1;
OSTimeDly(20); /* 眼时10个时钟节拍,挂起本任务等待延时结束 */
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -