📄 main.c
字号:
/***********************************
norman
2008-08-03
************************************/
#include "INCLUDES.h"
#define TaskStkLength 64
OS_STK TaskStartStk [TaskStkLength];
OS_STK TaskLedStk[TaskStkLength];
OS_STK TaskSemStk[TaskStkLength];
OS_EVENT* ExtSemLed;
void TaskStart(void *pdata);
void TaskLed(void* pdata);
void TaskSemSend(void* pdata);
int main (void)
{
OSInit ();
ExtSemLed = OSSemCreate(1);
OSTaskCreate (TaskStart,(void *)0, &TaskStartStk[TaskStkLength - 1], 2);
OSStart ();
return(0);
}
void TaskStart (void *pdata)
{
pdata = pdata;
*P_TimeBase_Setup = C_TMB1_64Hz;
*P_INT_Ctrl = C_IRQ6_TMB1;
*P_IOA_Dir = 0xffff;
*P_IOA_Attrib = 0xffff;
*P_IOA_Data = 0x0000;
OSTaskCreate(TaskLed,(void*)0,&TaskLedStk[TaskStkLength - 1],3);
OSTaskCreate(TaskSemSend,(void*)0,&TaskSemStk[TaskStkLength - 1],4);
while (1)
{
OSTimeDly(5);
}
}
void TaskLed(void* pdata)
{
INT8U err;
pdata = pdata;
for(;;)
{
OSSemPend(ExtSemLed,0,&err);
OSTimeDlyHMSM(0,0,1,0);
*P_IOA_Data = 0xffff;
OSTimeDlyHMSM(0,0,1,0);
*P_IOA_Data= 0x0000;
}
}
void TaskSemSend(void* pdata)
{
INT8U err;
pdata=pdata;
for(;;)
{
err = OSSemPost(ExtSemLed);
OSTimeDlyHMSM(0,0,2,0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -