STM32--USART串口(2)串口外设

一、USART简介

可配置数据位:不需要校验就是8位,需要校验就选9位;

停止位:决定了帧的间隔;

STM32F103C8T6USART:USART1挂载在APB2总线上,USART2和USART3挂载在APB1总线上;

二、USART框图

TXE:发送寄存器空;RXNE:接收寄存器非空;

波特率发生器:来源为APB2或APB1时钟的分频;

三、USART基本结构

右边的四个寄存器实际在软件层面只有一个寄存器DR;

写入DR时,数据走上面进行发送,读取DR时,数据走下面进行接收;

四、数据帧

1、字长设置

2、配置停止位

五、波特率发生器

采样时为了防止噪声干扰会对同一个状态进行连续16次的采样,所以内部的采样时钟是16倍的波特率。所以输入时钟 / DIV就要等于16倍的波特率。

eg:9600 = 72M / ( 16 * DIV )

DIV : 000111010100 | 1100(468.75)

六、数据模式

HEX模式、十六进制模式、二进制模式:以原始数据形式显示;

文本模式、字符模式:以原始数据编码后的形式显示;

七、printf

1、printf

printf默认输出到屏幕,但32没有屏幕,所以需要重定向;

1、勾上Use McrolLIB

2、包含头文件

3、重写fputc

2、sprintf

sprintf可以指定打印位置,不涉及 重定向的东西

3、封装sprintf

相关推荐
@晓凡2 小时前
keil5找不到下载器
stm32
Devlab2 小时前
LVGL设计大师——网页版anyui来了!!
嵌入式硬件·物联网·低代码·ui·iot
Dr.kangder5 小时前
嵌入式面试总结(十五)——异常处理
单片机·面试·职场和发展·系统架构·嵌入式
zlinear数据采集卡7 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
ACP广源盛139246256737 小时前
蚂蚁百灵 Ling‑3.0‑flash 开源 + 昇腾 0‑Day 原生适配@ACP#GSV9001E 在国产算力矩阵中的机会与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
Rocktech_ruixun9 小时前
机器人端侧大模型部署对主板有哪些要求?瑞迅主控板分级方案对比
人工智能·嵌入式硬件·机器人
振南的单片机世界10 小时前
SysTick硬核拆解:既是HAL_Delay的“心跳”,也是RTOS的“节拍器”
arm开发·stm32·单片机·嵌入式硬件
Lzh编程小栈10 小时前
【嵌入式底层】SPI超透彻详解:通信原理、四线结构、四种模式、寄存器底层 + 面试全集
c语言·stm32·单片机·面试·职场和发展
Rocktech_ruixun10 小时前
机器人数据采集能力取决于什么?瑞迅科技RK3588/3576核心板方案深度解析
人工智能·嵌入式硬件·机器人
水果里面有苹果10 小时前
28-DRV8825PWPR步进电机驱动器
单片机