串口

硬件

DB9_公头_母头_串口引脚定义及RS-232串口线制作方法

 

理论知识

STM32串口接收不定长数据(接收中断+超时判断)

如何判断串口接收完成一帧数据

我对STM32 HAL库串口中断发送过程的理解 

HAL库UART的几个常用函数讲解+中断处理过程讲解

STM32串口发送数据和接收数据方式总结 

 串口通信知识

串口通讯你真的懂了吗

实际运用

STM32第五章-串口通讯详解

linux 串口驱动(二)初始化

Linux 串口驱动与使用

STM32 USART串口初始化

USART_FLAG_RXNE与USART_IT_RXNE区别

串口发送字符串的代码写法

STM32F429之UART使用

基于CubeMX HAL库的STM32串口发送、接收配置

STM32 HAL库之串口详细篇(基于HAL库)

细究STM32 HAL库的中断式串口接收

 一份开源的单片机串口高效通讯方案 

 STM32—串口通讯详解 

UART自定义通信协议代码实现方法

串口调试工具

Linux工具-串口工具 cutecom

Linux 串口调试工具汇总

 几个好用串口调试、检测的工具

问题:

单片机串口通信失败

 STM32串口通信乱码详细处理方法

【请查收】串口通信问题排查指南 

单片机串口发送数据很慢?这种方法帮助你提高

 

串口FIFO
串口FIFO可以理解为串口专用的缓存,该缓存采用先进先出方式。数据接收FIFO和数据发送FIFO通常是独立的两个硬件。
串口接收的数据,先放入接收FIFO中,当FIFO中的数据达到触发值(通常触发值为1、2、4、8、14字节)或者FIFO中的数据虽然没有达到设定值但是一段时间(通常为3.5个字符传输时间)没有再接收到数据,则通知CPU产生接收中断;发送的数据要先写入发送FIFO,只要发送FIFO未空,硬件会自动发送FIFO中的数据。
写入发送FIFO的字节个数受FIFO最大深度影响,通常一次写入最多允许16字节。上述列举的数据跟具体的硬件有关,CPU类型不同,特性也不尽相同,使用前应参考相应的数据手册。

 

串口句柄结构体 UART_HandleTypeDef
主要有两个参数,其他都是HAL库内部使用的。
USART_TypeDef *Instance 寄存器的例化,方便操作寄存器,如 SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE), 产生一个空中断
UART_InitTypeDef Init 配置串口的基本参数,如波特率、奇偶校验、停止位等

 

tips
当接收到1个字节,会产生USART_IT_RXNE中断
当接收到一帧数据,就会产生USART_IT_IDLE中断

posted @ 2023-03-17 14:35  何以茜茜  阅读(81)  评论(0)    收藏  举报