第一章创建任务
1.硬件初始化
我们在写代码之前都会对硬件进行初始化,将所需的硬件初始化函数放置在BSP_Init()函数当中,便于之后所添加的各类硬件函数初始化,方便我们的管理。这里先放着一个LED_GPIO的初始化函数,便于接下来观察实验现象,串口初始化函数用来发送给电脑串口助手发送实验信息。
/***********************************************************************
* @ 函数名: BSP_Init
* @ 功能说明:板级外设初始化,所有板子上的初始化均可放在这个函数里面
* @ 参数:
* @ 返回值:无
*********************************************************************/
static void BSP_Init(void)
{
/*
/*
* STM32中断优先级分组为4,即4bit都用来表示抢占优先级,范围为:0~15
* 优先级分组只需要分组一次即可,以后如果有其他的任务需要用到中断,
* 都统一用这个优先级分组,千万不要再分组,切忌。
SysTick_Init(72); //初始化延迟函数
NVIC_PriorityGroupConfig( NVIC_PriorityGroup_4 );
/* LED 初始化 */
LED_GPIO_Config();
/*´串口初始化¯*/
USART_Config();
}
2.创建任务
创建任务有两种方法:一种是静态创建,另外一种就是动态创建。静态创建任务:使用xTaskCreateStatic() 函数创建。
静态创建任务是在编译时分配任务所需的内存空间。
&nbs