利用STM32CubeMX快速创建点灯带调试输出工程案例
利用STM32CubeMX快速创建点灯带调试输出工程案例
- ✨这里以创建STM32F103C8T6芯片为例。
- 🌿关于
STM32CubeMX
软件安装这里就不做介绍了。
- 📍
STM32CubeMX
软件下载:https://www.st.com/zh/development-tools/stm32cubemx.html#get-software
📑配置过程
🎉由于录制的gif文件过大没法传上来,只能以图文介绍。
1. 🌿配置RCC时钟
- ⏰HSE配置为外部晶振
- 📌在时钟树配置页,HCLK直接配置为72MHz
2. 🌿GPIO输出引脚配置
📖将PC13配置程输出,模式为推挽,IO口输出速度和初始状态可以根据需求配置。
3. 🌿串口1配置
异步串口,波特率可以自定义设定,这里选择默认的
115200
4. 🌿配置SYS
调试DEBUG
选项
⌛如果你是采用串口烧录方式,此选型必须开启。
5. 🌿工程保存设置项
📚设置好以上内容后,可以点击
GENERATE CODE
生成工程
串口重定向,实现printf打印
- 📋在usart.c文件中添加串口重定向代码:
#include "stdio.h"
/*可调用printf*/
int fputc(int ch,FILE *f)
{
/*&huart1指的是串口1,如果用别的串口就修改数字*/
HAL_UART_Transmit(&huart1 , (uint8_t *)&ch , 1 , 0xffff);
return ch;
}
- ✨在
Keil
菜单上的魔术棒
图标选项-Target
中勾选Use MicroLIB
库。
- 🔖在调用printf函数的地方包含
#include "stdio.h"
📝main函数代码
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART1_UART_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
HAL_Delay(1000);
printf("Perseverance51 \n");
}
/* USER CODE END 3 */
}
⛳案例源码
链接:https://pan.baidu.com/s/1pJ6nXW1yHItYrHyWCBGmfw
提取码:j0g9