一、创建工程
拿到开发板后第一件事就是创建一个工程,点一个小灯,让开发板正常工作起来。
1.创建目录
关于工程目录的创建,我是按照我的习惯创建的:
- App存放的是上层处理逻辑文件
- Bsp存放的是和MCU相关的底层文件
- Doc存放的是说明文件
- Driver存放的是和器件相关的驱动文件
- Firmware存放的是标准库固件
- Project存放的是工程文件
- System存放的是系统滴答处理器和位带操作
- User存放的是main函数
关于文件夹里面的内容就不详细介绍了。
2.资料下载
这里需要说一下关于资料的下载,我在官网是没有找到的,不过在一个帖子里有说,
资料
大家也可以直接访问下面这个进行下载
ftp://58.250.18.138/
二、点灯
创建工程之后,我们需要验证工程创建是否正确,是否缺少文件,此时可以通过点一个灯去验证,这部分关于GPIO的操作比较简单。
官方给出了很多的例程可以供我们参考,比如我们需要操作GPIO我们可以查看GPIO这部分例程
走到这一步很顺畅,LED成功点亮了。
三、调试串口
关于串口的操作,我们也可以直接从例程中获取,这里直接贴出代码
void bsp_usart1_gpioConfig(void)
{
GPIO_InitType GPIO_InitStructure;
RCC_EnableAPB2PeriphClk(BSP_USART1_GPIO_RCU, ENABLE);
GPIO_InitStructure.Pin = BSP_USART1_TX_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Alternate = GPIO_AF4_USART2;
GPIO_InitPeripheral(BSP_USART1_TX_PORT, &GPIO_InitStructure);
GPIO_InitStructure.Pin = BSP_USART1_RX_PIN;
GPIO_InitStructure.GPIO_Pull = GPIO_Pull_Up;
GPIO_InitStructure.GPIO_Alternate = GPIO_AF4_USART2;
GPIO_InitPeripheral(BSP_USART1_RX_PORT, &GPIO_InitStructure);
}
void bsp_usart1_usartConfig(uint32_t bound)
{
USART_InitType USART_InitStructure;
RCC_EnableAPB2PeriphClk(BSP_USART1_RCU, ENABLE);
USART_StructInit(&USART_InitStructure);
USART_InitStructure.BaudRate = bound;
USART_InitStructure.WordLength = USART_WL_8B;
USART_InitStructure.StopBits = USART_STPB_1;
USART_InitStructure.Parity = USART_PE_NO;
USART_InitStructure.HardwareFlowControl = USART_HFCTRL_NONE;
USART_InitStructure.Mode = USART_MODE_RX | USART_MODE_TX;
USART_Init(BSP_USART1_USART, &USART_InitStructure);
USART_Enable(BSP_USART1_USART, ENABLE);
}
int fputc(int ch, FILE* f)
{
USART_SendData(BSP_USART1_USART, (uint8_t)ch);
while (USART_GetFlagStatus(BSP_USART1_USART, USART_FLAG_TXDE) == RESET)
;
return (ch);
}
void bsp_usart1_printf(char* fmt,...)
{
printf(fmt);
}
然后我们初始化,打印一个hello world
bsp_usart1_gpioConfig();
bsp_usart1_usartConfig(115200);
bsp_usart1_printf("hello world!\r\n");
|