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

📄 main.c

📁 嵌入式操作系统ucosii在msp430CPU中的移植代码
💻 C
字号:
#include "..\Ports\includes.h"
#include "lcd.c"

#define TASK_STK_SIZE 128
OS_STK TaskSTK[TASK_STK_SIZE];
OS_STK TaskSTK2[TASK_STK_SIZE];
OS_EVENT *pSem;

void print_task(void *data)
{
#if OS_CRITICAL_METHOD == 3
    OS_CPU_SR cpu_sr;
#endif
    INT8U err;
    data=data;
    //LCD init.
    P4SEL=0x00;           /*所有P4口线均为I/O端       */
	P4DIR|=BIT3+BIT4+BIT6;/*将/CS、/WR、DATA置输出模式*/
	Lcd_InitCommand(0x00); 
	Lcd_InitCommand(0x29);
	Lcd_InitCommand(0x18);
	Lcd_InitCommand(0x01);
	Lcd_InitCommand(0x03);
	
	LCD[0]=0;
    LCD[1]=1;
    LCD[2]=0;
    LCD[3]=0;

    for(;;){
        OSSemPend(pSem,50,&err);
        OS_ENTER_CRITICAL();         
        display_valve();
        display_mode();
        OS_EXIT_CRITICAL();
        //OSTimeDly(63);/*1S delay*/
    }
}

void task(void *pdata){
#if OS_CRITICAL_METHOD == 3
    OS_CPU_SR cpu_sr;
#endif
    pdata=pdata;

    LCD[2]=1;
    LCD[3]=2;

    for(;;){
        OS_ENTER_CRITICAL();         
        display_valve();
        display_mode();
        LCD[2]=(LCD[2]+1)%10;
        LCD[3]=(LCD[3]+1)%10;
        OS_EXIT_CRITICAL();
        OSSemPost(pSem);
        OSTimeDlyHMSM(0,0,1,0);/*2S delay*/
    }
}
void main(void)
{
    WDTCTL = WDTPW + WDTHOLD;
    OSInit();
    pSem = OSSemCreate(1);
	OSTaskCreate(print_task,(void *)0,&TaskSTK[TASK_STK_SIZE-1],0);
	OSTaskCreate(task,      (void *)0,&TaskSTK2[TASK_STK_SIZE-1],5);
	WDTCTL = WDT_ADLY_16;          /* WDT is clocked by fACLK (32KHz) */
    IE1|=WDTIE;
	OSStart();

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -