1.任务的创建
//开始任务
#define START_TASK_PRIO 10 ///
#define START_STK_SIZE 128
OS_STK START_TASK_STK[START_STK_SIZE];
void start_task(void *pdata);
//显示任务
#define Display_TASK_PRIO 8
#define Display_STK_SIZE 64
OS_STK Display_TASK_STK[Display_STK_SIZE];
void Display_task(void *pdata);
//电机任务
#define Motor_TASK_PRIO 7
#define Motor_STK_SIZE 64
OS_STK Motor_TASK_STK[Motor_STK_SIZE];
void Motor_task(void *pdata);
//按键任务
#define Key_TASK_PRIO 6
#define Key_STK_SIZE 64
OS_STK Key_TASK_STK[Key_STK_SIZE];
void Key_task(void *pdata);
2.主函数及任务函数
按键任务没有使用消息队列方式,直接扫描按键有一点问题。
//主函数
int main(void)
{
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
LED_GPIO_Init(); //LED初始化
SMG_Init(); //数码管初始化
MY_TIM3_Init(); //定时器初始化
Key_GPIO_Init(); //按键初始化
OSInit();
OSTaskCreate(start_task,(void*)0,(OS_STK*)&START_TASK_STK[START_STK_SI