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