首先,在stm32写一个ucosii之前,我们需要对stm32进行基本的配置,写几个最基本的驱动在里面,这样有助于我们的调试。
LED_GPIO_Config();
SysTick_Init();
Key_GPIO_Config();
EXTI_PA15_Config();
USART1_Config(9600);
这几个分别是led、系统滴答时钟、按键(中断)、按键(轮询)、及串口通信的基本配置,其中串口通信是用来打印程序是否调试成功,而系统滴答时钟则在任务切换的时候起到很关键的作用。
基础部分的main函数如下:
#include "stm32f10x.h"
#include "led.h"
#include "SysTick.h"
#include "key.h"
#include "exti.h"
#include "usart.h"
#include "stdio.h"
int main(void)
{
LED_GPIO_Config();
SysTick_Init();
Key_GPIO_Config();
EXTI_PA15_Config();
USART1_Config(9600);
USART1_printf(USART1, "\r\n{"__DATE__" -"__TIME__"}\r\n");
LED0(ON);
while(1)
{
if(Key_Scan(GPIOA,GPIO_Pin_13) == KEY_ON)
{
GPIO_WriteBit(GPIOA,GPIO_Pin_8,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_8))); }
}
}
上面函数的作用为串口打印时间和日期,按键使得LED灯翻转。