打印
[STM32F0]

【HAL库】STM32F0 通用同步异步收发器(UART)

[复制链接]
1212|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
UART 介绍STM32F0微控制器的通用同步异步收发器(UART1~UART8)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。STM32F0的UART提供宽范围的波特率选择,并且支持多处理器通讯。
接口通过两个或三个引脚与其他设备连接在一起。任何UART双向通信至少需要两个脚:
  UART_RX:串行数据输入。使用采样技术来区别数据和噪音,从而恢复数据。
  UART_TX:串行数据输出。当发送器被禁止时,输出引脚状态由其GPIO端口配置决定。   
           当发送器被激活,并且不发送数据时,TX引脚处于高电平。
  UART_SK:发送器时钟输出。此引脚输出用于同步传输的时钟。
UART 主要功能

● 全双工,异步通讯
● 数据字长可编程( 8 或 9 位)
● 高位在前或低位在前可设置
● 停止位个数可设置 - 支持 1 个或 2 个停止位
● 同步模式下时钟输出功能,实现同步通讯
● DMA (直接内存访问)支持下的连续数据通讯
- 利用 DMA 功能将收 / 发字节缓冲到保留的 SRAM 空间
● 针对接收器和发送器的单独的使能位
● 可配置为 Tx/Rx 引脚互换
● 用于 MODEM 的硬件流控制和 RS-485 发送使能控制
● 发送检测标志有:
- 接收缓冲区满
- 发送缓冲区空
- 忙和发送结束标志

● 十四个中断源和中断标志
- CTS 切换
- LIN 断开检测
- 发送数据寄存器空
- 发送完成
- 接收数据寄存器满
- 检测到线路空闲
- 溢出错误
- 帧错误
- 噪声错误
- 奇偶错误
- 地址 / 字符匹配
- 接收超时中断
- 块结束中断
- 从 Stop 模式唤醒

UART 异步串行通信的字符格式

通过这些管脚,在普通UART模式下串行数据的发送接收帧结构组成如下:
● 总线在发送或接收前应处于空闲状态
● 一个起始位
● 一个数据字(8或9位),最低有效位在前
● 一个校验位
● 一个或两个停止位
UART 串行通信的传送速率

传送速率用于说明数据传送的快慢。在串行通信中,数据是按位进行传送的,因此传送速率用每秒钟传送格式位的数目来表示,称之为波特率(band rate)。每秒传送一个格式位就是1波特。

    常用的有: 4800、9600、19200、115200波特。







沙发
huangcunxiake| | 2018-11-14 15:06 | 只看该作者
发送每个字节都要有起始位吗,还是发送一组数据只需要一次起始位

使用特权

评论回复
板凳
jiekou001| | 2018-11-15 12:12 | 只看该作者
每家的寄存器起名字都不同,其实应该统一起来,要求每家的同样功能的寄存器名字统一。

使用特权

评论回复
地板
paotangsan| | 2018-11-15 13:50 | 只看该作者
感谢分享 这个系列的和别的系列的有什么不同呀

使用特权

评论回复
5
晓伍| | 2018-11-15 14:49 | 只看该作者
非常感谢分享

使用特权

评论回复
6
mintspring| | 2018-11-15 20:11 | 只看该作者
楼主专门做ST推广啊?

使用特权

评论回复
7
木木guainv| | 2018-11-21 15:54 | 只看该作者
好详细 感谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

148

主题

499

帖子

61

粉丝