stm32f103核心板串口通信入门

本文介绍了STM32F103单片机进行串口通信的基本步骤,包括寄存器与固件库编程的差异、硬件和软件准备、程序设计与烧录。使用野火开发板和ST-Link进行实验,强调了注意事项和可能出现的问题,为初学者提供了清晰的入门指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 基于寄存器与基于固件库编程方式的差异

使用固件库,目前比较多的例程是使用固件库编写的。固件库编写方式,特点是简单易于理解,资料多。新手适合用这种方式入门。

使用寄存器,想要深入理解CortexM3内核或是需要为了获得更好的可移植性,学习寄存器编程会比较有帮助。但是从专业的角度上看,寄存器更贴近底层,对外设的工作原理和运行机理会有更深的理解。优点:①具体参数更直观 ②程序运行占用资源少。 缺点:①开发速度慢 ②程序可读性差 ③维护复杂。开库开发方式则正好弥补了寄存器开发的缺点。

二、stm32串口通信

1. 前期准备

硬件

stm32f103c8t6核心板
在这里插入图片描述

推荐使用stm32f103ve开发板,核心板操作较为困难,容易出现线路连接不良、连接失误等各种意外。同时,开发板可以从网上找到直接可用的资料代码,大大节省时间,提高效率。

ST-link接口
在这里插入图片描述
USB-TLL转换线
在这里插入图片描述
在这里插入图片描述
以及数量足够的杜邦线

软件

STlink驱动

可自行百度下载

USB转串口驱动、野火多功能调试助手

USB转串口驱动在这里 提取码:l5fi
野火多功能调试助手在这里 提取码:rysf

MDK Keil5

连接

  • ST-Link 与核心板:选择st-link选择3.3v口,与核心板相对应连接
  • USB-TTL与核心板:TXD接A10,RXD接A9
    (注意!这里一定是反着接,容易犯错!)
  • ST-Link与USB-TTL分别接到电脑上

连接成功后如下图、
在这里插入图片描述

2.编写程序并烧录

设计程序

要求STM32系统给上位机(win10)连续发送“hello windows!”,当上位机给stm32发送“Stop,stm32”后,stm32停止发送。
代码如下:
stm32f10x_it.c

#include "stm32f10x_it.h"
#include "bsp_usart.h"
void NMI_Handler(void){
   }
void HardFault_Handler(void)
{
   
	while (1) 
### STM32F103RCT6 最小系统核心板的设计原理 STM32F103RCT6 是一款基于 ARM Cortex-M3 内核的 32 位微控制器,具备丰富的外设资源和强大的处理性能。为了构建其最小系统核心板,需考虑以下几个方面: #### 原理图设计要点 最小系统的核心在于确保 MCU 能够稳定运行并实现基本功能。通常情况下,该类电路应包含电源管理、时钟振荡器以及必要的去耦电容等元件。 - **供电部分**:MCU 需要稳定的电压输入来保障正常工作状态。一般而言,STM32F103RCT6 的 VDD 和 VSS 引脚需要连接到合适的稳压电源上,并通过多个不同容量的陶瓷电容器进行滤波处理[^1]。 - **复位电路**:NRST 引脚用于外部触发硬件复位信号,建议添加一个按键开关以便手动操作的同时也接入下拉电阻保持低电平默认值。 - **晶振与时钟源**:对于高精度应用场景来说,可以选用外部高速晶体(HSE),如8MHz 或者更高频率规格的产品;而对于成本敏感型项目,则可以选择内部RC振荡器作为主频发生装置之一。 - **调试接口**:JTAG/SWD 接口允许开发者利用专用工具链完成程序下载与在线调试任务,在实际开发过程中不可或缺。 ```plaintext +-------------------+ | | | STM32F103RCT6 |-----> SWD/JTAG Debug Interface | |---> External Crystal (Optional) | |---> Power Supply & Decoupling Capacitors | |---> Reset Button and Pull-down Resistor +-------------------+ ``` #### 引脚配置说明 针对具体应用需求合理规划各 I/O 口的功能分配至关重要。以下是几个常见的引脚用途示例: - PA9/PA10 经常被设置为 USART1_TX/RX 使用串行通信协议传输数据; - PB6/PB7 则可指定为 I2C1_SCL/I2C1_SDA 实现两线制总线通讯方式; - PC13 默认状态下充当用户指示灯 LED 控制端子。 更多详细的引脚定义及其对应的特殊功能映射关系,请参阅官方提供的《STM32F1xx 数据手册》文档获取最新最全的信息。 #### 开发资料推荐 除了上述提到的基础理论知识之外,初学者还可以参考如下几项重要资源进一步加深理解: - 官方网站上的技术论坛和支持社区提供了大量实战案例分析报告和技术交流机会; - STMicroelectronics 发布的应用笔记涵盖了广泛的主题领域,有助于解决特定难题; - 各种开源平台分享了许多成功的实践范本可供借鉴学习。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值