初级会员
- 积分
- 68
- 金钱
- 68
- 注册时间
- 2020-7-27
- 在线时间
- 11 小时
|
OS_STK LED_Task_STK[LED_STK_SIZE];
OS_STK KEY_Task_STK[LED_STK_SIZE];
OS_EVENT* KEYSem;
void start_task(void *pdata)
{
pdata=pdata;
KEYSem=OSSemCreate(0);
OSTaskCreate(led_task,(void *)0,&LED_Task_STK[LED_STK_SIZE-1],LED_TASK_PRIO);
OSTaskCreate(key_task,(void *)0,&KEY_Task_STK[KEY_STK_SIZE-1],KEY_TASK_PRIO);
OSTaskSuspend(START_TASK_PRIO);
}
void led_task(void *pdata)
{
INT8U err;
pdata=pdata;
while(1)
{
OSSemPend(KEYSem,0,&err);
GPIO_SetBits(GPIOA,GPIO_Pin_8);
OSTimeDlyHMSM(0, 0,0,1000);
GPIO_ResetBits(GPIOA,GPIO_Pin_8);
OSTimeDlyHMSM(0, 0,0,1000);
}
}
void key_task(void *pdata)
{
pdata=pdata;
while(1)
{
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_15)==0)
{
delay_ms(10);
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_15)==0)
{
OSSemPost(KEYSem);
}
}
OSTimeDlyHMSM(0,0,0,500);
}
}
|
|