STM32 最小系统(下载、复位、通讯)

STM32 开发大杂烩

这篇博客主要介绍STM在开发中的一些注意事项,比较杂
感谢:正点原子、杨桃电子,嘉立创、还有各位博主(下文均有提及)


目录

STM32 开发大杂烩

一、软件部分

1.1、keil5

二、最小系统

2.1、最小系统原理图

2.2、下载电路

2.3、复位电路

三、纯硬件部分

3.1、PCB

3.2、通讯方式

3.3、TTL

3.4、USART大家族

3.5、 SPI、CAN、USB接口


一、软件部分

1.1、keil5

该软件作为单片机最基础的编程软件,主要了解一下这个软件创建工程的基础知识点就行

STM32 开发环境搭建_stm32开发环境_灵性花火的博客-优快云博客

前面就已经说过:下载程序的注意事项(不说IAP,那个技术要求太高了):

进阶的就是了解一下该软件keil自带的调试功能也就是ICP下载:keil通过J-LINK给STM32烧录程序并进行调试,一个最好的调试软件不仅能够随时输出你想要的值,而是能够随时监控各种各样的变量(类似C++的调试)
对于软件调试:这里参考不完全手册:

 这里仿真主要有两种方式(一种是软件调试,画圈的左侧(但是没啥用),另一种是J-link调试右侧),这两种区别之一在于硬件调试能够直接输出具体link连接硬件接口的数据,软件调试就不行

 软件调试基本上没有要设置的:直接左侧设置好了就能debug了:

 硬件调试(ST-LINk):

 

二、最小系统

2.1、最小系统原理图

一个单片机独立工作的电路是这样的:(这里示例原理图来源于嘉立创EDA(仅用于学习不涉及任何商业活动)画PCB这个软件很方便)

只介绍几个模块的功能,其他就不细说了(一定要弄懂!基础!)

2.2、下载电路

这里需要在仔细说一下下载电路还有复位电路,前面博客就要已经说过STM32有三种下载方式,

STM32 开发环境搭建_stm32开发环境_灵性花火的博客-优快云博客

比较平民的是ISP(关键词:flymcu,一键下载电路)、ICP(关键词:J-link、st-link)方式
首先:ISP下载需要设计串口电路,通过电脑端口USB经CH340转到STM32的TTL电平(后面会解释),这个USB下载模块的电路设计有很多种(网上电路很多),但是要对应好flymcu的Bootloader进入模式

对于ICP下载方式,这种下载方式一般通过JTAG、SWD(几条线)来下载,单片机上的接口:一般长成这样:

 

 J-link——用于JTAG接口          ST-link——用于SWD接口          这个也是ST-link(2代,便宜)

                        

一般都用SWD

 

在使用的时候只需要连接四根线就行了,看图就知道对应的是SWCLK、SWDIO、GND、3.3V。一般设计的时候都是JTAG以及SWD共用电路,在图中很明显就看到JTAG公头就有SWDIO以及SWCLK,电源VDD还有GND就直接连上st-LINK四根线就行了。

 

2.3、复位电路

坦白说当我第一次看到复位电路我是崩溃的,因为介绍的太简单了(左图)

 

这就是上电自动复位电路, 如果需要手动复位(右图)(其实就是电容两端并联一个按键):

三、纯硬件部分

3.1、PCB

绘制板子是基础课

Altium Designer 20 19(入门到精通全38集)四层板智能车PCB设计视频教程AD19 AD20 凡亿_哔哩哔哩_bilibili

3.2、通讯方式

感谢博客:

杨桃电子

https://blog.youkuaiyun.com/bokang3593/article/details/81301033

什么是TTL?标准USB接口是TTL吗?RS232、RS422、RS485的区别?_BUG从入门到精通的博客-优快云博客

最经典的通讯方式:一般的开发板基本上都是电脑USB转串口usart进行通讯,用到了CH340芯片来转换协议

 实际上通化还有很多方式:TTL、USART(很多种)、IIC、SPI。(通讯的基础的概念就不细究了)

3.3、TTL

全双工(逻辑1: 2.4V–5V 逻辑0: 0V–0.5V),在实际接线的时候发现也就是直接引出三根线。

3.4、USART大家族

这个家族人很多,具体区分和连接距离有关

稍微提一下DB(接口数目),USART通讯方式很多,繁衍出来很多接口接线方式(虽然最简单的还是直接拿几根杜邦线一插)
 比方说:RS232全双工(逻辑1:-15V–5V 逻辑0:+3V–+15V)具体由两种DB口号(线接口数)

3.5、 SPI、CAN、USB接口

这几个不常用到,一块说了:

首先是SPI:这个后面会说到,因为他通讯速度很快,用在惯导数据传输就很不错

                                        CAN 通讯                                               USB通讯

​       

USB的接口还要叙述一下:

这里补充一下:为了开发的调试,不说使用USB通过ISP下载电路

### STM32G431 最小系统设计 STM32G431 是 STMicroelectronics 推出的一款基于 ARM Cortex-M4 内核的微控制器,具有高性能和低功耗的特点。其主要特性包括主频高达 170 MHz 的 CPU 和 DSP 指令支持,适用于多种嵌入式应用场景。 #### 硬件最小系统设计 ##### 电源管理 STM32G431 支持宽范围供电电压(通常为 2.0V 至 3.6V)。为了确保系统的稳定运行,建议使用高质量的稳压电路提供稳定的电源输入。常见的做法是在 VDD 引脚附近放置去耦电容(如 0.1μF 和 10μF),以减少高频噪声的影响[^4]。 ##### 复位电路 复位引脚 (NRST) 应连接到外部按钮开关或上拉电阻至 VDD。推荐使用约 10kΩ 的上拉电阻,并在 NRST 输入端增加一个小容量电容器(如 10nF)滤波,从而提高抗干扰性能[^3]。 ##### 晶振与时钟源 STM32G431 提供多个时钟源选项,其中最常用的为主晶振(HSE)和内部 RC 振荡器(HSI)。对于高精度需求的应用场景,可外接一个 8MHz 或者其他频率的标准晶体震荡器及其负载电容(一般取值为 20pF~30pF)。此外还需要注意 PCB 布局布线规则,保持晶振走线尽可能短并远离大电流回路区域[^1]。 ##### BOOT模式选择 通过设置 BOOT0 和 BOOT1 引脚的状态可以选择不同的启动方式,默认情况下应将其分别接地(GND),这样设备会从闪存区加载程序执行[^2]。 ##### JTAG/SWD调试接口 为了方便后续开发测试过程中的在线仿真操作,在实际制作过程中往往还会预留 SWD(Debug)或者全功能JTAG接口管脚位置以便于利用专用工具链完成代码烧录以及断点跟踪等功能验证等工作环节。 #### 软件配置教程 可以借助官方提供的图形化配置工具 **STM32CubeMX** 来快速建立初始工程项目框架结构: 1. 打开软件后新建目标型号指定为 `STM32G431CBT6`; 2. 进行基本外围模块使能设定比如启用SysTick定时器服务函数生成等等必要组件初始化部分; 3. 定义好各个IO口的工作属性之后点击Generate Code即可获得一份初步可用的基础驱动文件集合包; 最后再依据具体业务逻辑补充完善剩余缺失的部分直至整个应用程序完全成型为止。 ```c // 示例:简单的LED闪烁控制代码片段 #include "stm32g4xx_hal.h" void SystemClock_Config(void); static void MX_GPIO_Init(void); int main(void){ HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); while(1){ HAL_Delay(500); HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5); //假设PA5连接了一个LED灯泡 } } /** * @brief 初始化GPIO端口配置 */ static void MX_GPIO_Init(void){ __HAL_RCC_GPIOA_CLK_ENABLE(); GPIO_InitTypeDef GPIO_InitStruct = {0}; /*Configure GPIO pin : PA5 */ GPIO_InitStruct.Pin = GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA,&GPIO_InitStruct); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值