news 2026/6/26 9:12:59

USART 完全笔记 —— STM32 标准库实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
USART 完全笔记 —— STM32 标准库实现

一、USART 是什么?先建立直觉

USART 全称Universal Synchronous/Asynchronous Receiver/Transmitter, 通用同步/异步收发器。

日常说的「串口」、「UART」指的都是它的异步模式(不带时钟线), 这也是嵌入式开发中 99% 的场景。

和其他协议的直观对比

SPI:4 根线,全双工,有时钟,速度最快,主从式 I2C:2 根线,半双工,有时钟,多设备,速度中等 UART:2 根线,全双工,无时钟,点对点,使用最简单 UART 连接方式: 设备A 设备B TX ──────────→ RX RX ←────────── TX GND ─────────── GND ← GND 必须共地!

UART 最大特点:不需要时钟线,双方约定好波特率(速度)就能通信, 是嵌入式调试输出的首选接口(printf 重定向到串口)。


二、异步通信原理——没有时钟怎么同步?

没有时钟线,双方靠什么对齐数据?

答:靠起始位 + 约定波特率

空闲状态(无数据):TX 线保持高电平 发送一帧数据(8 位数据为例): TX: ─────┐ D0 D1 D2 D3 D4 D5 D6 D7 ┌───── │ │ 空闲高 └──[S][b0][b1]
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 9:07:29

重构技巧实战

代码重构的艺术与实践 在软件开发中,重构是提升代码质量的重要手段。它不仅能优化代码结构,还能提高可维护性,降低后期修改的复杂度。重构并非简单的代码调整,而是需要系统性的技巧与实践。本文将介绍几种实用的重构技巧&#xf…

作者头像 李华
网站建设 2026/6/26 9:06:14

信创-为什么ORACLE使用JDBC查询SYSDATE时,RS.getDate能获取到时间部分?

这是个什问题?在某些版本ORACLE对应的JDBC驱动中,使用查询语句select sysdate from dual,使用rs.getDate获取到日期包含时间部分.而其他大部分数据库返回都不会包含时间部分.间接造成在做信创迁移时,造成时间部分丢失.由于测试代码简单,这里不提供代码部分,直接测试Oracle mys…

作者头像 李华
网站建设 2026/6/26 9:01:29

Pearcleaner:解决macOS应用残留清理问题的开源工具指南

Pearcleaner:解决macOS应用残留清理问题的开源工具指南 【免费下载链接】Pearcleaner A free, source-available and fair-code licensed mac app cleaner 项目地址: https://gitcode.com/gh_mirrors/pe/Pearcleaner macOS应用卸载后遗留的缓存、偏好设置和支…

作者头像 李华