【STM32Cube笔记】10-异步串口收发USART

本文是STM32Cube笔记系列的第10篇,讲解如何使用STM32CubeIDE新建并配置异步串口USART工程,包括新建工程文件、配置晶振、设置串口模式和中断、编写串口代码以及烧录程序。适用于STM32H743II芯片,详细介绍了串口收发、中断设置和DMA配置。

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

【STM32Cube笔记】系列文章目录

1-基于STM32的VSCode入门级教程前言
2-STM32Cube安装教程
3-STM32CubeIDE汉化
4-STM32Cube配置时钟设置
5-跑马灯引脚配置
6-Cortex-M7内核基本配置
7-新建用于储存代码的文件夹以及c/h文件
8-STM32CubeIDE点亮跑马灯
9-STLink调试
10-异步串口收发USART
11-中断控制器NVIC
12-配置外部中断
13-使用定时器产生PWM输出
14-使用定时器捕获上升/下降沿
15-数模转换AD/DA
16-STM32Cube个性化定制


6.1 新建USART工程

6.1.1 新建工程文件
在桌面新建文件夹,命名为“USART_Project”(根据实际需求选择文件夹存放路径和命名,其中路径不能包含中文),用于存放串口实验的工作空间。打开STM32CubeIDE软件,点击“Browse…”按钮,选择 “USART_Project”文件夹路径作为工作空间存放路径,然后点击“Launch”按钮,启动运行STM32CubeIDE。
在这里插入图片描述

点击“Start New STM32 project”按钮。
在这里插入图片描述

在搜索栏中输入需要配置的STM32芯片名称进行搜索,例如本文使用的芯片就输入“STM32H743II”,并单击选择对应封装“ LQFP176”,即可进入下一步。
在这里插入图片描述

在进入芯片详细页面后,可以点击“Block Diagram”或者“Datasheet”对芯片进行概览。在确认芯片信息与手头的芯片一致后,点击Next下一步开始配置芯片。
在这里插入图片描述

输入工程名,其余选型默认,点击“Finish”按钮。操作该步骤前需要保证网络正常,因为STM32CubeIDE需要下载对应芯片的数据包,也可以到STM官网上下载可离线安装的数据包。
在这里插入图片描述

点击“Yes”按钮。

在这里插入图片描述

点击“Project Manager->Code Generator”,将“Generated files”第1和第2选项勾选,其余默认。
在这里插入图片描述

6.1.2 配置芯片晶振
点击“Pinout & Configuration->System Core->RCC”,在“RCC Mode”中将“High Speed Clock(HSC)”设置为“Crystal/Ceramic Resonator”,其余保持默认。
在这里插入图片描述

第一个选项High Speed Clock即为HSE(高速时钟源),因此选择Crystal/Ceramic Resonator(使用晶振/外部陶瓷振荡器)来使用外部晶振。其余选项无特殊需求不用打开。
点击“Clock Configuration”,在“Input Frequency”输入“25”,在“PLL Source Mux”选择“HSE”作为时钟输入,在“System Clock Mux”选择“PLLCLK”作为时钟输入,在“SPI1,2,3 Clock Mux”输入“480”,然后按回车键,其他暂不设置,保持默认。
在这里插入图片描述

6.1.3 配置芯片内核
点击左边菜单栏“System Core”的“CORTEX_M7”进入M7的配置页面。
在这里插入图片描述

CPU ICache:使能I-Cache,用来缓存指令,选择打开。
CPU DCache:使能D-Cache,用来缓存数据,选择打开,其他选项不变。
点击左侧“Trace and Debug”,进入“DEBUG”页面,用自己所用的调试方式,选的是“Serial Wire”。也就是ST-Link常用的SWD模式,下面的选项是外部触发调试,暂且不开。
在这里插入图片描述

6.2 配置串口引脚
接下来我们对串口进行配置,首先在引脚定义中我们需要打开“Connectivity”中的“USART1”来打开串口1的配置菜单。
在这里插入图片描述

在“Mode”一栏中,将“Mode”改为“Asychoronous”异步模式,其他选项不用改动。
可以看到下方会出现串口的详细配置目录,这边选择不改动,使用默认的:
115200HZ波特率,8字符长度,奇偶位None,停止位为1.
在这里插入图片描述

接着点击“NVIC Setting”对串口中断进行配置,打开USART1的中断开关。
在这里插入图片描述

并在“NVIC”总中断控制界面将串口中断的优先度设为“3,3”。

这个错误是由于无法连接到本地主机的10248端口导致的。这个端口通常是kubelet进程监听的端口,用于健康检查。出现这个错误可能是由于kubelet进程没有正确启动或者配置错误导致的。 解决这个问题的方法是检查kubelet进程的状态和配置。你可以按照以下步骤进行操作: 1. 检查kubelet进程是否正在运行。你可以使用以下命令检查kubelet进程的状态: ```shell systemctl status kubelet ``` 如果kubelet进程没有运行,你可以使用以下命令启动它: ```shell systemctl start kubelet ``` 2. 检查kubelet的配置文件。你可以使用以下命令查看kubelet的配置文件路径: ```shell kubelet --kubeconfig /etc/kubernetes/kubelet.conf --config /var/lib/kubelet/config.yaml --bootstrap-kubeconfig /etc/kubernetes/bootstrap-kubelet.conf config view ``` 确保配置文件中的端口号和地址正确,并且与你的环境相匹配。 3. 检查网络连接。你可以使用以下命令检查是否可以连接到localhost的10248端口: ```shell curl -sSL http://localhost:10248/healthz ``` 如果无法连接,请确保端口没有被防火墙或其他网络配置阻止。 4. 检查docker的配置。有时候,kubelet进程依赖于docker进程。你可以按照以下步骤检查docker的配置: - 创建/etc/docker目录: ```shell sudo mkdir /etc/docker ``` - 编辑/etc/docker/daemon.json文件,并添加以下内容: ```json { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ], "registry-mirrors": ["https://tdhp06eh.mirror.aliyuncs.com"] } ``` - 重启docker进程: ```shell systemctl restart docker ``` 请注意,以上步骤是一种常见的解决方法,但具体解决方法可能因环境而异。如果以上步骤无法解决问题,请提供更多的错误信息和环境配置,以便我们能够更好地帮助你。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值