⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 app.c

📁 开发环境:IAR3.10 本程序成功将ucos2移植到MSP430F149上
💻 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 + -