STM32F103C8 + CubeMX + 基础工程模板创建( 串口调试 + 时钟配置 + SWD调试)

  这篇文章主要记录一下拿到一块STM32开发板后,基础的程序下载、串口打印等功能测试。

一、工程创建

1、打开Cubemx,新建工程
在这里插入图片描述
2、选择芯片,鼠标双击创建工程
在这里插入图片描述
3、进入芯片配置界面
在这里插入图片描述

二、SWD调试引脚配置

1、配置STLINK调试引脚,开启SWD调试功能
在这里插入图片描述

三、时钟源配置

1、设置时钟源,根据自己需求选择时钟源,我这里是开发板,有外接晶振所以选高速外部时钟
在这里插入图片描述
2、配置时钟树
在这里插入图片描述

四、串口配置

1、串口参数配置
在这里插入图片描述
2、开启串口GPIO中断
在这里插入图片描述

五、工程输出配置

1、点击顶部ProcjetManager,设置工程名称,工程保存路径,选择开发环境,如果使用keil开发,则选择MDK-ARM
注意:工程路径中不允许含有中文.否则会输出错误
在这里插入图片描述
2、点击左侧Code Generator.选中仅复制需要的库,否则生成的工程会很大.
选择将外设配置为单独的.c和.h文件.
在这里插入图片描述

六、代码编写

1、main.c 包含 #include<stdio.h> 头文件

#include <stdio.h>

2、main.c 中加入printf重写函数,方便使用printf打印

int fputc(int ch, FILE *f)
{
  HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);
  return ch;
}
int fgetc(FILE *f)
{
  uint8_t ch = 0;
  HAL_UART_Receive(&huart1, &ch, 1, 0xffff);
  return ch;
}

3、main函数中添加打印调试代码

  • 代码一:
int main(void)
{
    HAL_Init();
    SystemClock_Config();
	MX_GPIO_Init();

    MX_USART1_UART_Init();
    while (1)
    {
		printf("----------AAAAAAAA \r\n");
		HAL_Delay(1000);
    }
}
  • 代码二:
int main(void)
{
    HAL_Init();
    SystemClock_Config();
	MX_GPIO_Init();
	
    MX_USART1_UART_Init();
    
    uint8_t Data = 0;
    while (1)
    {
		HAL_UART_Receive(&huart1, &Data, 1, 0xffff);
		HAL_UART_Transmit(&huart1, (uint8_t *)&Data, 1, 0xffff);
    }
}

4、Keil工程配置

  • 勾选 Use MicroLIB,才能使用printf函数
    在这里插入图片描述
  • 勾选Reset and Run,程序下载后自动复位并运行
    在这里插入图片描述

七、硬件连接

STM32              STLINK
VCC  《------------------------------------》3.3V
GND 《------------------------------------》GND
SWDIO《------------------------------------》SWDIO
SWCLK《-----------------------------------》SWCLK
 
 

STM32           CH340(USB转TTL)
GND《------------------------------------》GND
PA10《------------------------------------》TX
PA9 《-------------------------------------》RX

八、输出演示

  • 效果一:
    串口助手一秒打印一次如下信息,试验成功。
    在这里插入图片描述
  • 效果二:
    串口助手输入一段字符串,单片机原样返回给串口助手,试验成功。
    在这里插入图片描述
  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值