STM32 Nucleo-64开发板MCU的型号是STM32L053R8T6,下面来创建串口通信例程。
一、安装软件</strong>
这里安装官网的STM32CubeMX软件,软件地址:
<a href="https://www.st.com/content/st_com/en/search.html#q=stm32cubemx-t=tools-…;
<center><a href="http://mouser.eetrend.com/files/2020-11/wen_zhang_/100058690-112122-1.p…; target="_blank"><img src="http://mouser.eetrend.com/files/2020-11/wen_zhang_/100058690-112122-1.p…; alt=“” ></a></center>
<strong>二、创建项目</strong>
2.1、软件安装完成后,创建开发板的工程项目,选择File-->New Project创建项目。
<center><img src="http://mouser.eetrend.com/files/2020-11/wen_zhang_/100058690-112123-2.p…; alt=“” width="600"></center>
2.2、这是官网的开发板,创建项目时选择对应的开发板型号,会自动设置外设端口和时钟配置。
<center><img src="http://mouser.eetrend.com/files/2020-11/wen_zhang_/100058690-112126-3.j…; alt=“” width="600"></center>
选择Yes
<center><img src="http://mouser.eetrend.com/files/2020-11/wen_zhang_/100058690-112127-4.p…; alt=“” width="600"></center>
生成项目已经设置好串口、LED和按键引脚。
<center><a href="http://mouser.eetrend.com/files/2020-11/wen_zhang_/100058690-112128-5.p…; target="_blank"><img src="http://mouser.eetrend.com/files/2020-11/wen_zhang_/100058690-112128-5.p…; alt=“” width="600"></a></center>
2.3、修改时钟配置
开发板的外部晶振我修改为8MHz,这里要修改下时钟配置
<center><a href="http://mouser.eetrend.com/files/2020-11/wen_zhang_/100058690-112129-6.p…; target="_blank"><img src="http://mouser.eetrend.com/files/2020-11/wen_zhang_/100058690-112129-6.p…; alt=“” ></a></center>
2.4、输入项目名称和保存路径,选择编译器,生成项目
<center><a href="http://mouser.eetrend.com/files/2020-11/wen_zhang_/100058690-112131-7.p…; target="_blank"><img src="http://mouser.eetrend.com/files/2020-11/wen_zhang_/100058690-112131-7.p…; alt=“” ></a></center>
<strong>三、编译项目</strong>
项目生成后,打开项目编译程序。
3.1、修改main.c文件,增加有光printf需要的函数。
<pre>#include "stdio.h"
typedef uint8_t u8;
#if 1
#pragma import(__use_no_semihosting)
struct __FILE
{
int handle;
};
FILE __stdout;
void _sys_exit(int x)
{
x = x;
}
int fputc(int ch, FILE *f)
{
while((USART2->ISR&0X40)==0);
USART2->TDR = (u8) ch;
return ch;
}
#endif
增加打印函数和指示灯
while (1)
{
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
HAL_Delay(100);
printf("hello stm32l053! \r\n");
}</pre>
3.2、编译程序
<center><img src="http://mouser.eetrend.com/files/2020-11/wen_zhang_/100058690-112132-8.p…; alt=“” ></center>
3.3、下载程序
<center><img src="http://mouser.eetrend.com/files/2020-11/wen_zhang_/100058690-112133-9.p…; alt=“” ></center>
<strong>四、运行结果</strong>
串口输出打印信息,同时开发板上的指示灯闪烁。
<center><img src="http://mouser.eetrend.com/files/2020-11/wen_zhang_/100058690-112134-10…; alt=“” ></center>
<strong>五、程序源文件</strong>