大学生
最后登录1970-1-1
在线时间 小时
注册时间2015-1-11
|
楼主 |
发表于 2016-3-19 15:48:33
|
显示全部楼层
火哥,现在变成不按按键它也闪了
#ifndef __APP_CFG_H__
#define __APP_CFG_H__
#define STARTUP_TASK_PRIO 5
#define STARTUP_LED1_PRIO 4
#define STARTUP_KEY_PRIO 3
#define STARTUP_TASK_STK_SIZE 80
#define STARTUP_LED1_STK_SIZE 80
#define STARTUP_KEY_STK_SIZE 128
#endif
APP.c
#include "includes.h"
OS_EVENT *Sem;
INT8U err;
static OS_STK STARTUP_LED1_STK[STARTUP_LED1_STK_SIZE];
static OS_STK STARTUP_KEY_STK[STARTUP_KEY_STK_SIZE];
void Task_LED1(void *pdata)
{
pdata=pdata;
SysTick_init();
while (1)
{
OSSemPend(Sem,0,&err);
for(;;)
{
LED1( ON );
OSTimeDly(1000);
LED1( OFF);
OSTimeDly(1000);
LED2( ON );
OSTimeDly(1000);
LED2( OFF);
OSTimeDly(1000);
}
}
}
void Task_KEY(void *pdata)
{
INT8U KeyAState;
pdata=pdata;
while(1)
{
OSTimeDly(20);
KeyAState=GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_13);
if(KeyAState==0)
{
OSTimeDly(20);
KeyAState=GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_13);
if(KeyAState==0)
{
Sem=OSSemCreate(0);
OSSemPost(Sem);
}
}
}
}
void Task_LED(void *pdata)
{
pdata=pdata;
SysTick_init();
while (1)
{
OSTaskCreate(Task_LED1,(void *) 0,(OS_STK *)&STARTUP_LED1_STK[STARTUP_LED1_STK_SIZE-1], STARTUP_LED1_PRIO );
OSTaskCreate(Task_KEY,(void *) 0,(OS_STK *)&STARTUP_KEY_STK[STARTUP_KEY_STK_SIZE-1], STARTUP_KEY_PRIO );
}
}
main.c
#include "includes.h"
static OS_STK STARTUP_start_STK[STARTUP_TASK_STK_SIZE];
int main(void)
{
BSP_Init();
OSInit();
OSTaskCreate(Task_LED,(void *) 0,(OS_STK *)&STARTUP_start_STK[STARTUP_TASK_STK_SIZE-1], STARTUP_TASK_PRIO );
OSStart();
return 0;
}
|
|