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、进制转换器

相关推荐
li星野43 分钟前
ZYNQ:点亮LED灯
fpga开发·zynq·7010
9527华安1 小时前
FPGA实现PCIE视频采集转HDMI输出,基于XDMA中断架构,提供3套工程源码和技术支持
fpga开发·音视频·pcie·xdma·ov5640·hdmi
乌恩大侠2 小时前
【Xcode Command Line Tools】安装指南
macos·fpga开发·c
apple_ttt2 小时前
从零开始讲PCIe(9)——PCIe总线体系结构
fpga开发·fpga·pcie
夜间去看海3 小时前
基于单片机的智能浇花系统
单片机·嵌入式硬件·智能浇花
VirtuousLiu4 小时前
LM74912-Q1用作电源开关
单片机·嵌入式硬件·ti·电源设计·lm74912·电源开关
打地基的小白4 小时前
软件I2C-基于江科大源码进行的原理解析和改造升级
stm32·单片机·嵌入式硬件·通信模式·i2c
Echo_cy_5 小时前
STM32 DMA+AD多通道
stm32·单片机·嵌入式硬件
朴人5 小时前
【从零开始实现stm32无刷电机FOC】【实践】【7.2/7 完整代码编写】
stm32·单片机·嵌入式硬件·foc
追梦少年时5 小时前
STM32中断——外部中断
stm32·单片机·嵌入式硬件