RS232串口硬件调试

视频链接(1~4)

RS232串口硬件调试01---串口理论及报文格式_哔哩哔哩_bilibili

RS232串口硬件调试02---示波器抓取串口波形_哔哩哔哩_bilibili

RS232串口硬件调试03---串口波形解析_哔哩哔哩_bilibili

RS232串口硬件调试04---串口bug如何解决_哔哩哔哩_bilibili

RS232 串口硬件调试

原理参考第4课:RS232接口硬件电路设计

原理参考第73课:console接口硬件电路设计

1、RS232串口理论

UART(通用异步收发传输)是一种通信协议,而RS232(串行通信接口)是一种物理接口标准。UART是一种用于在计算机和外部设备之间传输数据的协议,而RS232是一种用于在计算机和外部设备之间建立物理连接的标准接口。

UART可以使用RS232接口进行通信,但UART也可以使用其他物理接口标准,如RS485。

2、RS232串口调试一般存在的问题

1、串口没打印

2、串口有打印---乱码 or 打印到一半卡死

3、串口调试软件及串口报文格式

3.1、串口调试软件(Uart Assist)

(数据位)

(校验位)

(停止位)

3.2、串口波特率

串口通信的速率用波特率表示,它表示每秒传输二进制数据的位数,单位是bps(位/秒),常用的波特率有9600、19200、38400、115200等。

uart中的波特率就可以认为是比特率,即每秒传输的位数(bit)。波特率就是串口每秒钟可以发送多少bit。115200也就是说一秒钟可以发送115200bit,每个bit持续的时间

1/115200= 8.68μs

3.3、串口报文格式

UART在发送或接收过程中的一帧数据由3或者4部分组成。

起始位(1bit)+ 数据位(5~8bit)+ 奇偶校验位(1bit)+ 停止位(1~2bit)

异步串行通信数据格式图

3.3.1、起始位

起始位标志着一帧数据的开始,由一个逻辑0(低电平)的数据位表示,起始位1 位;

在发送有效数据前,无需配置,会自动产生1bit 逻辑"0"的低电平的起始位,表示串口数据传输开始,之后开始发送有效数据。

3.3.2、数据位

数据位是一帧数据中的有效数据(数据位可选择为5、6、7、8位,传输多个值为0或者1的bit位。

3.3.3、校验位

校验位用于检验数据在传输过程中是否出错。奇偶校验位,因为在通信过程中易受到外部干扰而导致数据出现偏差,所以在有效数据之后增加了校验位来解决这个问题,校验方式需要配置,校验方式有奇校验、偶校验、0校验和1校验。

无校验(NONE):数据包不包含校验位;

奇校验(ODD):保证数据位+校验位的"1"为奇数;

如果字符数据位中"1"的数目是偶数,校验位为"1"; (举例1010 1010 1)

如果字符数据位中"1"的数目是奇数,校验位为"0"。 (举例1010 1011 0)

偶校验 (EVEN):保证数据位+校验位的"1"为偶数;

如果字符数据位中"1"的数目是偶数,则校验位为"0";(举例1010 1010 0)

如果字符数据位中"1"的数目是奇数,则校验位为"1"。(举例1010 1011 1)

mark parity:校验位始终为1

space parity:校验位始终为0

3.3.4、停止位

停止位是一帧数据结束的标志,可以是1bit、1.5bit或者2bit。

3.3.5、空闲位

串口TX或RX数据线上没有传输任何数据时,则该线处于为空闲状态。

空闲位不算是串口报文内的数据, 它是发送完一组报文后,总线会自动将电平拉高,产生1bit 逻辑"1"的空闲位。空闲是TX和RX都是处于高电平。

3.3.6、LSB & MSB

LSB(Least Significant Bit)意为最低有效位;

MSB(Most Significant Bit)意为最高有效位。

4、示波器测试串口波形操作步骤(★)

S1:示波器设置

  1. 通道设置:打开通道CH1;

2、耦合设置:直流耦合;

3、水平时基和电压调节(实际测量时还需要手动调节)

横轴:水平时基调到ms级;

1μs 2μs 5μs 10μs 20μs 50μs 100μs 200μs 500μs

1ms 2ms 5 ms 10 ms 20 ms 50 ms 100 ms 200 ms 500 ms

1s 2s 5s 10s 20s 50s 100s 200s

纵轴:1V左右;

10mV 20 mV 50 mV 100 mV 200 mV 500 mV

1V 2V 5V 10V 20V 50V

4、触发设置:下降沿触发;单次触发模式;

S2:探头放测试点处,鳄鱼夹接板子GND

S3:板卡上电

S4:串口调试助手发送数据

S5:读取波形图

5、示波器抓取串口波形实战(8位数据位、1位停止位、无校验位)

5.1、例1:发送数据"0x55"

5.1.1、总图(0 1010 1010 1)

|------|-----|-----------|-----|
| 数据分类 | 起始位 | 数据位 | 停止位 |
| 电平 | 0 | 1010 1010 | 1 |

0101 0101 对应的是55

5.2、例2:发送数据"0x3A"

5.2.1、总图

8.68*9=78.12μs

5.2.2、分解图1 (0 0)
5.2.3、分解图2(0 0101)
5.2.4、分解图3(0 0101 1110)
5.2.5、分解图4(0 0101 1100 1)

|------|-----|-----------|-----|
| 数据分类 | 起始位 | 数据位 | 停止位 |
| 电平 | 0 | 0101 1100 | 1 |

0011 1010 对应的是 3A

6、串口出现问题如何解决?(★)//参考上方B站视频链接

7、UM3232电压测量(VCC 3.3V供电)

8、进制转换器

相关推荐
blessing。。1 小时前
I2C学习
linux·单片机·嵌入式硬件·嵌入式
嵌新程3 小时前
day03(单片机高级)RTOS
stm32·单片机·嵌入式硬件·freertos·rtos·u575
Lin2012303 小时前
STM32 Keil5 attribute 关键字的用法
stm32·单片机·嵌入式硬件
电工小王(全国可飞)3 小时前
STM32 RAM在Memory Map中被分为3个区域
stm32·单片机·嵌入式硬件
maxiumII3 小时前
Diving into the STM32 HAL-----DAC笔记
笔记·stm32·嵌入式硬件
北城笑笑5 小时前
FPGA 14 ,硬件开发板分类详解,FPGA开发板与普通开发板烧录的区别
fpga开发·fpga
2202_754421545 小时前
一个计算频率的模块
驱动开发·fpga开发
美式小田6 小时前
单片机学习笔记 9. 8×8LED点阵屏
笔记·单片机·嵌入式硬件·学习
小灰灰的FPGA6 小时前
低速接口项目之串口Uart开发(七)——如何在FPGA项目中实现自适应波特率串口功能
fpga开发
兰_博6 小时前
51单片机-独立按键与数码管联动
单片机·嵌入式硬件·51单片机