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

相关推荐
xingzhemengyou118 分钟前
STM32 UART 通信详解
stm32·单片机·嵌入式硬件
LDR00618 分钟前
乐得瑞 LDR6020P,重新定义 Type-C 多口方案
嵌入式硬件
苏灵凯20 分钟前
智能环境监测终端全栈设计:从单片机到微信小程序,手把手搞定!
单片机·嵌入式硬件·mcu·物联网·微信小程序·小程序·蓝牙模块
济61722 分钟前
STM32串口通信实战|从基础到实战(发送 + 接收控制 LED)---STM32 HAL库专栏
stm32·嵌入式·stm32hal库编程
福尔摩斯张24 分钟前
一文搞懂74HC595芯片(附详细使用方法)
linux·服务器·网络·单片机·嵌入式硬件
LCG元29 分钟前
串口屏快速开发:STM32 UART通信,复杂HMI界面调试技巧
stm32·单片机·嵌入式硬件
从零点39 分钟前
如何在cmake中添加自己的项目文件夹文件
嵌入式硬件
广州灵眸科技有限公司40 分钟前
瑞芯微(EASY EAI)RV1126B 人脸98关键点算法识别
开发语言·科技·嵌入式硬件·物联网·算法·php
myron668840 分钟前
基于STM32LXXX的数字电位器(TPL0501-100DCNR)驱动应用程序设计
stm32·单片机·嵌入式硬件
篮子里的玫瑰44 分钟前
FreeRTOS:信号量与互斥量在DMA串口发送中的实战剖析
stm32·单片机·嵌入式硬件·算法