📄 main.c
字号:
/****************************************************************************
* File:Main.C
* 功能:计数器,通过两个按键来控制加减计数器,并输出数码管显示.。
****************************************************************************/
#include "config.h"
#define CON 0x000000ff //控制P0.0~P0.7
#define TASK_STK_SIZE 64
OS_STK Main_TaskStk[TASK_STK_SIZE];
OS_STK Task0Stk[TASK_STK_SIZE];
void Main_Task(void *data);
void Task0(void *data);
/****************************************************************************
* 名称:main()
* 功能:主函数,启动多任务环境
****************************************************************************/
int main (void)
{
OSInit();
OSTaskCreate(Main_Task, (void *)0, &Main_TaskStk[TASK_STK_SIZE - 1], 0);
OSStart();
return 0;
}
/****************************************************************************
* 名称:Main_Task()
* 功能:初始化目标板,建立其他任务
****************************************************************************/
void Main_Task(void *pdata)
{
pdata=pdata;
TargetInit();
OSTaskCreate(Task0, (void *)0, &Task0Stk[TASK_STK_SIZE - 1], 1);
PINSEL0=0x0;
IODIR=CON;
IOCLR=CON;
OSTaskSuspend(OS_PRIO_SELF);
}
/****************************************************************************
* 名称:Task0()
* 功能:任务
****************************************************************************/
void Task0(void *pdata)
{ uint16 temp;
pdata=pdata;
temp=0;
for(;;)
{
if((IOPIN&0x00030000)!=0x00030000)
OSTimeDly(OS_TICKS_PER_SEC/50);
if((IOPIN&0x00030000)!=0x00030000)
{
if((IOPIN&0x00030000)==0x00020000)
temp++;
if((IOPIN&0x00030000)==0x00010000)
temp--;
while((IOPIN&0x00030000)!=0x00030000);
IOCLR=CON;
IOSET=temp;
}
}
OSTaskResume(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -