STM32通用同步异步收发器(USART)
来源:互联网 发布:家园2 mac 中文版 编辑:程序博客网 时间:2024/06/05 04:40
通用同步异步收发器—–USART
通讯方式:
1、串行通讯
2、异步/同步
3、全双工
物理层
RS232标准
两个通讯设备的“DB9 接口”之间通过串口信号线建立起连接,串口信号线中使用“RS-232标准”传输数据信号。由于 RS-232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过一个“电平转换芯片”转换成控制器能识别的“TTL 标准”的电平信号,才能实现通讯。
协议层
串口通讯的数据包由发送设备通过自身的 TXD 接口传输到接收设备的 RXD 接口。在串口通讯的协议层中,规定了数据包的内容,它由启始位、主体数据、校验位以及停止位组成,通讯双方的数据包格式要约定一致才能正常收发数据。
STM32的USART构架
1、引脚功能
TX:发送数据输出引脚
RX:接收数据输入引脚
SW_RX:芯片内部引脚
2、数据寄存器
发送接收数据,主要是对数据寄存器进行操作
(数据寄存器)TDR和 RDR都是介于系统总线和移位寄存器之间。串行通信是一个位一个位传输的,发送时把 TDR 内容转移到发送移位寄存器,然后把移位寄存器数据每一位发送出去,接收时把接收到的每一位顺序保存在接收移位寄存器内然后才转移到 RDR。
3、控制器
发送器:
当发送使能位 TE 置 1 之后,发送器开始会先发送一个空闲帧(一个数据帧长度的高电平),接下来就可以往 USART_DR 寄存器写入要发送的数据。在写入最后一个数据后,需要等待 USART 状态寄存器 (USART_SR)的 TC 位为 1,表示数据传输完成,如果USART_CR1 寄存器的 TCIE 位置 1,将产生中断。
在发送数据时,编程的时候有几个比较重要的标志位我们来总结下。
名称 描述
TE 发送使能
TXE 发送寄存器为空,发送单个字节的时候使用
TC 发送完成,发送多个字节数据的时候使用
TXIE 发送完成中断使能
接收器
如果将 USART_CR1 寄存器的 RE 位置 1,使能 USART 接收,使得接收器在 RX 线开始搜索起始位。在确定到起始位后就根据 RX 线电平状态把数据存放在接收移位寄存器内。接收完成后就把接收移位寄存器数据移到 RDR 内,并把 USART_SR 寄存器的 RXNE 位置
1,同时如果 USART_CR1寄存器的 RXNEIE 置 1 的话可以产生中断。
在接收数据时,编程的时候有几个比较重要的标志位我们来总结下。
名称 描述
RE 接收使能
RXNE 读数据寄存器非空
RXNEIE 接收缓冲区非空中断使能
4、小数波特率生成
5、校验控制
6、中断控制
- STM32通用同步异步收发器(USART)
- [stm32] USART USART1收发功能工程
- [stm32] USART USART1收发功能工程
- UART(通用异步收发器)简介
- 通用异步收发器UART-学习笔记
- 【MSP430】MSP430深入研究 之 通用收发器USART(上)
- UART (Universal Asynchronous Receiver/Transmitter) 通用异步收发器
- ARM学习笔记--通用异步收发器UART
- 四、s3c2440 裸机开发 通用异步收发器UARN
- STM32F103C8T6之通用异步收发器(发送接收中断)
- JZ2440 第11章 通用异步收发器UART
- STM32 USART
- STM32 USART
- STM32-USART
- STM32F10x usart数据收发
- STM32F10x usart数据收发
- 《嵌入式linux应用程序开发完全手册》通用异步收发器UART学习笔记
- TQ2440 学习笔记—— 23、通用异步收发器 UART
- 手机端左右滑动,不用写js(只有页面切换到移动端可以看)
- js reduce方法
- EntityFrameWork 课程2
- LeakCanary常见泄漏解决方法
- bash: syntax error near unexpected token `newline'(关键词:flask/bug)
- STM32通用同步异步收发器(USART)
- 自己学习之用
- jsp页面ajax返回list(里面放有对象)进行循环并插入table
- Android版本更新(适用于6.0/7.0)
- SpringBoot注解详解
- Apache流量猛增,并发过高导致问题的处理解决方案
- C++中cin的详细用法
- call和apply的区别和用法
- php代码审计(二)