很简单的程序 KEY1按下 蜂鸣器响两次 void TaskStart(void *pdata) { pdata = pdata; /* 避免编译警告 */
TargetInit(); /* 目标板初始化 */ IODIR &= ~KEY1; /* 设置KEY1为输入*/ IOSET = BEE; IODIR |= BEE; /* 设置蜂鸣器为输出*/ PINSEL0 = (PINSEL0 & 0xcffff3ff); /* 管教选择模块初始化 */ OSTaskCreate(Task, (void *)0, &TaskStk[TASK_STK_SIZE - 1], 10); /* 创建任务 */
for (;;) { OSTaskSuspend(OS_PRIO_SELF); IOCLR = BEE; OSTimeDly(OS_TICKS_PER_SEC / 8); IOSET = BEE; OSTimeDly(OS_TICKS_PER_SEC / 4);
IOCLR = BEE; OSTimeDly(OS_TICKS_PER_SEC / 8); IOSET = BEE; OSTimeDly(OS_TICKS_PER_SEC / 4); } }
void Task(void *pdata) { pdata = pdata; /* 避免编译警告 */
for (;;) { OSTimeDly(OS_TICKS_PER_SEC / 50); /* 延时20毫秒 */ if ((IOPIN & KEY1) != 0) { continue; } OSTimeDly(OS_TICKS_PER_SEC / 50); /* 延时20毫秒 */ if ((IOPIN & KEY1) != 0) { continue; } OSTaskResume(0); while ((IOPIN & KEY1) == 0) { OSTimeDly(OS_TICKS_PER_SEC / 50); /* 延时20毫秒 */ } } }
在TaskStart里创建任务后 是只是建立 还是建立后就运行了呢? 谁能说说整个流程?
|