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

📄 main.c

📁 ARM仿真案例
💻 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 + -