📄 app.c
字号:
/*
*********************************************************************************************************
* uC/OS-II
* The Real-Time Kernel
*
* (c) Copyright 2002, Micrium, Inc., Weston, FL
* All Rights Reserved
*
* TI MSP430
*********************************************************************************************************
*/
#include "includes.h"
/*
*********************************************************************************************************
* CONSTANTS
*********************************************************************************************************
*/
#define TASK_STK_SIZE 64 /* Size of each task's stacks (# of OS_STK entries) */
/*
*********************************************************************************************************
* VARIABLES
*********************************************************************************************************
*/
OS_STK TaskStartStk[TASK_STK_SIZE];
OS_STK TaskStartStk1[TASK_STK_SIZE];
/*
*********************************************************************************************************
* FUNCTION PROTOTYPES
*********************************************************************************************************
*/
void TaskStart(void *data); /* Function prototypes of Startup task */
void TaskStart1(void *data);
/*$PAGE*/
/*
*********************************************************************************************************
* MAIN
*********************************************************************************************************
*/
unsigned char temp[8];
unsigned char temp2[8];
void main (void)
{
unsigned char i;
WDTCTL = WDTPW + WDTHOLD;
DCOCTL +=RSEL0+RSEL1+RSEL2;
//DCOCTL +=RSEL0;
BCSCTL1&=~XT2OFF;
BCSCTL2 |=SELS+DIVM_0+SELM_2;
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0xFF; i > 0; i--); // Time for flag to set
} while ((IFG1 & OFIFG));
/*DCOCTL +=RSEL0+RSEL1+RSEL2;
BCSCTL1&=~XT2OFF;
BCSCTL2 |=SELS+DIVM_0+SELM_0;*/
OSInit(); /* Initialize uC/OS-II */
OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0);
OSTaskCreate(TaskStart1, (void *)0, &TaskStartStk1[TASK_STK_SIZE - 1], 1);
OSStart(); /* Start multitasking */
}
/*
*********************************************************************************************************
* STARTUP TASK
*********************************************************************************************************
*/
void TaskStart (void *pdata)
{
word t,i;
pdata = pdata; /* Prevent compiler warning */
t=0;
WDTCTL = WDT_ADLY_16 ; /* Set time tick 32 mS */
IE1 |= 0x01; /* Enable Watchdog timer interrupts */
P4DIR=0xff;
P2DIR|=0x07;
search_rom();
/* Application specific initialization */
initial_screen();
while (1) {
/* Task specific code */
t=Read_Temperature(ID2);
itoa(t,temp);
dis_str(1,1,temp);
t=Read_Temperature(ID3);
itoa(t,temp);
dis_str(2,1,temp);
t=Read_Temperature(ID4);
itoa(t,temp);
dis_str(3,1,temp);
}
}
void TaskStart1 (void *pdata)
{
unsigned char i=0;
pdata = pdata;
while(1)
{
i++;
itoa(i,temp2);
dis_str(1,6,temp2);
OSTimeDly(62);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -