一.串口通信协议简介
二.RS-232标准
三.RS232电平与TTL电平的区别
芯片模块为例)的工作原理。-toc' style="margin-left:0px;">四.USB/TTL转232"模块(以CH以340芯片模块为例)工作原理。
五.安装 stm32CubeMX
六.LED流水灯
七.观察GPIO波形
八.总结
串口通讯(Serial Communication)是设备间常用的串行通信方式,电子工程师在调试设备时经常使用这种通信方式输出调试信息。我们以分层的方式理解通信协议,最基本的是将其分为物理层和协议层。物理层规定,通信系统具有机电功能部分的特点,以确保物理媒体中原始数据的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。
二.RS-232标准
RS-232标准接口(又称EIA RS-232)是美国电子工业协会常用的串行通信接口标准之一(EIA)1970年,贝尔系统公司、调制解调器制造商和计算机终端制造商联合制定了其全名数据终端设备( DTE)以及数据通信设备(DCE)串行二进制数据交换接口技术标准。
串行通信时,要求通信双方使用标准接口,使不同的设备能够轻松连接通信。RS-232-C接口(又称EIARS-232-C)是目前最常用的一种串行通讯接口。(“RS-232-C”中的“-C只是表示RS-232版,所以与RS-简称232)。
1970年,美国电子工业协会(EIA)串行通信标准由贝尔系统、调制解调器制造商和计算机终端制造商联合制定。它的全名是数据终端设备(DTE)数据通信设备(DCE)串行二进制数据交换接口技术标准本标准规定25脚DB-25连接器规定了连接器每个引脚的信号内容和各种信号的电平。后来IBM的PC机将RS232简化成了DB-9连接器成为事实标准。工业控制RS-一般只使用232口RXD、TXD、GND三条线。
传统的串行接口标准包括 22 根线,采用标准 25 芯 D 型插头座(DB25)后来简化为使用 9 芯 D 型
插座(DB9),现在在应用中 25 很少使用芯插头座。 就像现在说的几行串口,一般是指使用了几条线,最初 RS-232 串口是 25 针,所有针脚
义都有用,后来变成了 9 针的,所谓全功能串口就是所有的针脚定义都使用上了,例如流量控制,握手
信号等都是有用的。一般来说,国外产品做产品比较规则,所有串口信号都做好了。但国内技术
人发现,其实 RS-232 串口的主要用途是 2,3 如果不使用其他接口,就不会有很大的接口
所以,就在这里 9 在针的基础上简化,所以有所谓的 2,3,4,5,6,8 线的串口出来了。
2 线串口只有 RXD,TXD 两条基本收发信号线;3 线串口除了 RXD 和 TXD,还有 GND;所谓 4~9
线只是在 TXD 和 RXD 根据实际需要设计相应的控制信号线。一般来说,使用 5 线
的 232 通信增加了硬件流控,即 RTS,CTS 如果你的通信,信号主要是为了保证高速通信的可靠性
速度不是很高,你可以忽略它。根据信息传输方向,串行通信可进一步分为单工、半双工和全双工
三种工作。信息只能单向传输为单工;信息可以双向传输,但不能同时双向传输称为半双工;信息可以同时双向传输
传输称为全双工。
三.RS232电平与TTL电平的区别
结论:TTL电平和RS无论是在电压范围还是极性上,232电平(RS232是负逻辑)差别很大。显然,这两个电平不能直接连接。为了单片机TTL电平转换成RS通常我们需要一个特殊的转换芯片,如232电平SP3232。
RS232是工业上常用的串口标准,无论是PLC的RS232串口模块,或工控机串口模块(COM),输出电平称为RS232电平。同时,我们知道这些模块的内部控制单元是单片机,其电平为TTL电平。
TTL电平
TTL(Transistor-Transistor Logic,晶体管-晶体管逻辑),TTL电平即TTL电路输出电平,TTL工作电压为5V,它的输出可以是高电平(3.6V)或低电平(0.3V)。为了用这种模拟电压来表示数字量的逻辑1和逻辑0,TTL电平规定:
输出电路:电压大于等于等于(≥)2.4V逻辑1;电压小于等于等于;(≤)0.4V为逻辑0;
输入电路:电压大于或等于(≥)2.0V逻辑1;电压小于等于等于;(≤)0.8V为逻辑0;
RS232电平
RS1962年,美国电子工业协会发布了串行通信接口标准,RS即Recomend Standard,推荐标准,232为标号。本标准规定了串行通信的物理接口和逻辑电平。最简单的RS232通信由三条数据线组成,即TxD、RxD和GND。RS232采用负逻辑电平,即-15V~-3V代表逻辑"1", 3V~ 15V代表逻辑"0"。这里的电平,是的TxD线(或者RxD线)相对于GND的电压。
1.电平的上限和下限定义不同,CMOS抗噪区域较大。 如果是5伏供电,ttl一般是1.7V和3.5V的样子,CMOS一般是2.2V,2.9V的样子,不准确,仅供参考。
2.电流驱动能力不同,ttl一般提供25毫安的驱动能力,CMOS一般在10毫安左右。
3.所需的电流输入尺寸一般不同ttl需要2.5毫安左右,CMOS几乎不需要电流输入。
4.许多设备兼容TTL和CMOS的,datasheet会有解释。如果不考虑速度和性能,一般设备可以交换。但需要注意的是,有时负载效应会导致电路异常工作,因为有些ttl电路需要下一级输入阻抗作为负载才能正常工作。TTL电路和CMOS电路逻辑电平 VOH: 逻辑电平 1 的输出电压 VOL: 逻辑电平 0 的输出电压 VIH : 逻辑电平 1 的输入电压 VIH : 逻辑电平 0 的输入电压 6.TTL和CMOS逻辑电平转换 CMOS电平能驱动TTL电平 TTL无法驱动电平CMOS电平时,应增加拉电阻。
四.USB/TTL转232"模块(以CH以340芯片模块为例)工作原理。
TXD:发送端一般表示为自己的发送端,正常通信必须连接另一个设备RXD。
RXD:接收端一般表示为自己的接收端,正常通信必须连接另一个设备TXD。 正常通信本身TXD永远接设备RXD!
自收自发:正常通信时RXD接其他设备TXD,因此,如果你想接收你发送的数据,顾名思义,也就是说,你接收你发送的数据,即你自己TXD直接连接到RXD,测试本身的发送和接收是否正常是最快、最简单的测试方法,当出现问题时先做该测试确定是否产品故障。也称回环测试。
电平逻辑:
TTL电平:通常数据表示采用二进制,规定+5V等价于逻辑“1”,0V等价于逻辑“0”,称作TTL信号系统,是正逻辑
RS232电平:采用-12V到-3V,等价于逻辑“0”,+3V到+12V的逻辑电平,等价于逻辑“1”,是负逻辑的。
产品说明:
1、主芯片为CP2102,安装驱动后生成虚拟串口
2、USB取电,引出接口包括3.3V(《40mA),5V,GND,TX,RX,信号脚电平为3.3V,正逻辑
3、板载状态指示灯、收发指示灯,正确安装驱动后状态指示灯会常亮,收发指示灯在通信的时候会闪烁,波特率越高亮度越低
4、支持从300bps~1Mbps间的波特率
5、通信格式支持:1)5,6,7,8位数据位;2)支持1,1.5,2停止位;3)odd,even,mark,space,none校验
6、支持操作系统:windowsvista/xp/server2003/200,MacOS-X/OS-9,Linux
7、USB头为公头,可直接连接电脑USB口
8、贴片元件为SMT工艺生产,质量稳定
9、不含USB头体积为:33*15(mm)
模块与单片机请遵循以下连接:
usb转ttl电路图大全(RS232/串口/CH340T/PL2303)
usb转ttl电路图大全(RS232/串口/CH340T/PL2303)
usb转ttl电路图(一):USB转3线制RS232串口 图中也是USB转3线制RS232串口,只是输出RS232信号的电平幅度略低。CH340的R232引脚为高电平,启用了辅助RS232功能,只需外加二极管、三极管、电阻和电容就可代替7.2.节中专用的电平转换电路U5,所以硬件成本更低。
usb转ttl电路图大全(RS232/串口/CH340T/PL2303)
usb转ttl电路图(二):USB转RS232串口 图中是USB转最基本也最常用的3线制RS232串口,U5为MAX232/ICL232/SP232等。
usb转ttl电路图大全(RS232/串口/CH340T/PL2303)
usb转ttl电路图(三):USB转9线串口 下图是由CH340T实现的USB转RS232串口。CH340提供了常用的串口信号及MODEM信号,通过电平转换电路U8将TTL串口转换为RS232串口,端口P11是DB9插针,其引脚及功能与计算机的普通9针串口相同,U8的类似型号有MAX213/ADM213/SP213/MAX211等。
如果只需要实现USB转TTL串口,那么可以去掉图中的U8及电容C46/C47/C48/C49/C40。图中的信号线可以只连接RXD、TXD以及公共地线,其它信号线根据需要选用,不需要时都可以悬空。
P2是USB端口,USB总线包括一对5V电源线和一对数据信号线,通常,+5V电源线是红色,接地线是黑色,D+信号线是绿色,D-信号线是白色。USB总线提供的电源电流最大可以达到500mA,一般情况下,CH340芯片和低功耗的USB产品可以直接使用USB总线提供的5V电源。如果USB产品通过其它供电方式提供常备电源,那么CH340也应该使用该常备电源,如果需要同时使用USB总线的电源,那么可以通过阻值约为1Ω的电阻连接USB总线的5V电源线与USB产品的5V常备电源,并且两者的接地线直接相连接。
C8容量为4700pF到0.02μF,用于CH340内部电源节点退耦,C9容量为0.1μF,用于外部电源退耦。晶体X2、电容C6和C7用于时钟振荡电路。X2是频率为12MHz的石英晶体,C6和C7是容量为22pF的独石或高频瓷片电容。如果X2选用低成本的陶瓷晶体,那么C6和C7的容量必须用该晶体厂家的推荐值,一般情况下是47pF。
在设计印刷线路板PCB时,需要注意:退耦电容C8和C9尽量靠近CH340的相连引脚;使D+和D-信号线贴近平行布线,尽量在两侧提供地线或者覆铜,减少来自外界的信号干扰;尽量缩短XI和XO引脚相关信号线的长度,为了减少高频干扰,可以在相关元器件周边环绕地线或者覆铜。
usb转ttl电路图大全(RS232/串口/CH340T/PL2303)
usb转ttl电路图(四) USB转串口设计原理
usb转ttl电路图大全(RS232/串口/CH340T/PL2303)
USB接口:主要由3部分组成:USB接头、USB供电、USB数据收发,其原理如如下:
usb转ttl电路图大全(RS232/串口/CH340T/PL2303)
1.USB接头:提供USB物理接口,通过USB线与USB设备进行连接。
2.USB供电:整个USB转串口线无需外接电源,直接使用USB供电即可。
3.USB数据收发:USB接口与USB转串口芯片主芯片(PL2303)的通讯。
USB转串口主芯片:USB转串口主芯片模块,USB转串口主芯片是电路的核心部分,提供USB和串口的桥转换,它主要由三个部分组成,分别是USB转串口芯片PL2303、PL2303工作晶振和PL2303外围电路。
1.USB转串口主芯片:USB转串口芯片内部功能框图如下:
usb转ttl电路图大全(RS232/串口/CH340T/PL2303)
2.PL2303工作晶振:提供PL2303工作时钟,最大支持12M频率。
3.PL2303外围电路:依据PL2303数据手册要求添加外围电路,具体各外围电路功能,见PL2303手册。
RS232接口:RS232接口部分实现串口RS232电平与TTL电平的转换。模块原理图如下,主要由2个部分组成,SP232EH芯片、串口接口。
1.SP213EH芯片:将SP2303的TTL电平的串行接口,转换成普通的RS232电平。以及将普通的RS232电平电平转换成TTL电平串行接口。
2.标准的DB9公头,可以直接设备进行数据通信。
五.安装 stm32CubeMX
1.官网下载www.st.com/stm32cubemx
打安装包
2.安装HAL库
打开安装好的 STM32CubeMX 软件 点上面的Help -> Manage embedded software packages
会跳出来一个选择型号界面 勾选上你要安装的HAL库, 点击“Install Now” 直到安装成功。 如下图:
到此,恭喜你的STM32 CubeMx安装成功了。
六.LED流水灯
1.在keil下新建项目
2.选择芯片
main.s
;RCC寄存器地址映像
RCC_BASE EQU 0x40021000
RCC_CR EQU (RCC_BASE + 0x00)
RCC_CFGR EQU (RCC_BASE + 0x04)
RCC_CIR EQU (RCC_BASE + 0x08)
RCC_APB2RSTR EQU (RCC_BASE + 0x0C)
RCC_APB1RSTR EQU (RCC_BASE + 0x10)
RCC_AHBENR EQU (RCC_BASE + 0x14)
RCC_APB2ENR EQU (RCC_BASE + 0x18)
RCC_APB1ENR EQU (RCC_BASE + 0x1C)
RCC_BDCR EQU (RCC_BASE + 0x20)
RCC_CSR EQU (RCC_BASE + 0x24)
;AFIO寄存器地址映像
AFIO_BASE EQU 0x40010000
AFIO_EVCR EQU (AFIO_BASE + 0x00)
AFIO_MAPR EQU (AFIO_BASE + 0x04)
AFIO_EXTICR1 EQU (AFIO_BASE + 0x08)
AFIO_EXTICR2 EQU (AFIO_BASE + 0x0C)
AFIO_EXTICR3 EQU (AFIO_BASE + 0x10)
AFIO_EXTICR4 EQU (AFIO_BASE + 0x14)
;GPIOA寄存器地址映像
GPIOA_BASE EQU 0x40010800
GPIOA_CRL EQU (GPIOA_BASE + 0x00)
GPIOA_CRH EQU (GPIOA_BASE + 0x04)
GPIOA_IDR EQU (GPIOA_BASE + 0x08)
GPIOA_ODR EQU (GPIOA_BASE + 0x0C)
GPIOA_BSRR EQU (GPIOA_BASE + 0x10)
GPIOA_BRR EQU (GPIOA_BASE + 0x14)
GPIOA_LCKR EQU (GPIOA_BASE + 0x18)
;GPIO C口控制
GPIOC_BASE EQU 0x40011000
GPIOC_CRL EQU (GPIOC_BASE + 0x00)
GPIOC_CRH EQU (GPIOC_BASE + 0x04)
GPIOC_IDR EQU (GPIOC_BASE + 0x08)
GPIOC_ODR EQU (GPIOC_BASE + 0x0C)
GPIOC_BSRR EQU (GPIOC_BASE + 0x10)
GPIOC_BRR EQU (GPIOC_BASE + 0x14)
GPIOC_LCKR EQU (GPIOC_BASE + 0x18)
;串口1控制
USART1_BASE EQU 0x40013800
USART1_SR EQU (USART1_BASE + 0x00)
USART1_DR EQU (USART1_BASE + 0x04)
USART1_BRR EQU (USART1_BASE + 0x08)
USART1_CR1 EQU (USART1_BASE + 0x0c)
USART1_CR2 EQU (USART1_BASE + 0x10)
USART1_CR3 EQU (USART1_BASE + 0x14)
USART1_GTPR EQU (USART1_BASE + 0x18)
;NVIC寄存器地址
NVIC_BASE EQU 0xE000E000
NVIC_SETEN EQU (NVIC_BASE + 0x0010)
;SETENA寄存器阵列的起始地址
NVIC_IRQPRI EQU (NVIC_BASE + 0x0400)
;中断优先级寄存器阵列的起始地址
NVIC_VECTTBL EQU (NVIC_BASE + 0x0D08)
;向量表偏移寄存器的地址
NVIC_AIRCR EQU (NVIC_BASE + 0x0D0C)
;应用程序中断及复位控制寄存器的地址
SETENA0 EQU 0xE000E100
SETENA1 EQU 0xE000E104
;SysTick寄存器地址
SysTick_BASE EQU 0xE000E010
SYSTICKCSR EQU (SysTick_BASE + 0x00)
SYSTICKRVR EQU (SysTick_BASE + 0x04)
;FLASH缓冲寄存器地址映像
FLASH_ACR EQU 0x40022000
;SCB_BASE EQU (SCS_BASE + 0x0D00)
MSP_TOP EQU 0x20005000
;主堆栈起始值
PSP_TOP EQU 0x20004E00
;进程堆栈起始值
BitAlias_BASE EQU 0x22000000
;位带别名区起始地址
Flag1 EQU 0x20000200
b_flas EQU (BitAlias_BASE + (0x200*32) + (0*4))
;位地址
b_05s EQU (BitAlias_BASE + (0x200*32) + (1*4))
;位地址
DlyI EQU 0x20000204
DlyJ EQU 0x20000208
DlyK EQU 0x2000020C
SysTim EQU 0x20000210
;常数定义
Bit0 EQU 0x00000001
Bit1 EQU 0x00000002
Bit2 EQU 0x00000004
Bit3 EQU 0x00000008
Bit4 EQU 0x00000010
Bit5 EQU 0x00000020
Bit6 EQU 0x00000040
Bit7 EQU 0x00000080
Bit8 EQU 0x00000100
Bit9 EQU 0x00000200
Bit10 EQU 0x00000400
Bit11 EQU 0x00000800
Bit12 EQU 0x00001000
Bit13 EQU 0x00002000
Bit14 EQU 0x00004000
Bit15 EQU 0x00008000
Bit16 EQU 0x00010000
Bit17 EQU 0x00020000
Bit18 EQU 0x00040000
Bit19 EQU 0x00080000
Bit20 EQU 0x00100000
Bit21 EQU 0x00200000
Bit22 EQU 0x00400000
Bit23 EQU 0x00800000
Bit24 EQU 0x01000000
Bit25 EQU 0x02000000
Bit26 EQU 0x04000000
Bit27 EQU 0x08000000
Bit28 EQU 0x10000000
Bit29 EQU 0x20000000
Bit30 EQU 0x40000000
Bit31 EQU 0x80000000
;向量表
AREA RESET, DATA, READONLY
DCD MSP_TOP ;初始化主堆栈
DCD Start ;复位向量
DCD NMI_Handler ;NMI Handler
DCD HardFault_Handler ;Hard Fault Handler
DCD 0
DCD 0
DCD 0
DCD 0
DCD 0
DCD 0
DCD 0
DCD 0
DCD 0
DCD 0
DCD 0
DCD SysTick_Handler ;SysTick Handler
SPACE 20 ;预留空间20字节
;代码段
AREA |.text|, CODE, READONLY
;主程序开始
ENTRY
;指示程序从这里开始执行
Start
;时钟系统设置
ldr r0, =RCC_CR
ldr r1, [r0]
orr r1, #Bit16
str r1, [r0]
;开启外部晶振使能
;启动外部8M晶振
ClkOk
ldr r1, [r0]
ands r1, #Bit17
beq ClkOk
;等待外部晶振就绪
ldr r1,[r0]
orr r1,#Bit17
str r1,[r0]
;FLASH缓冲器
ldr r0, =FLASH_ACR
mov r1, #0x00000032
str r1, [r0]
;设置PLL锁相环倍率为7,HSE输入不分频
ldr r0, =RCC_CFGR
ldr r1, [r0]
orr r1, #(Bit18 :OR: Bit19 :OR: Bit20 :OR: Bit16 :OR: Bit14)
orr r1, #Bit10
str r1, [r0]
;启动PLL锁相环
ldr r0, =RCC_CR
ldr r1, [r0]
orr r1, #Bit24
str r1, [r0]
PllOk
ldr r1, [r0]
ands r1, #Bit25
beq PllOk
;选择PLL时钟作为系统时钟
ldr r0, =RCC_CFGR
ldr r1, [r0]
orr r1, #(Bit18 :OR: Bit19 :OR: Bit20 :OR: Bit16 :OR: Bit14)
orr r1, #Bit10
orr r1, #Bit1
str r1, [r0]
;其它RCC相关设置
ldr r0, =RCC_APB2ENR
mov r1, #(Bit14 :OR: Bit4 :OR: Bit2)
str r1, [r0]
;IO端口设置
ldr r0, =GPIOC_CRL
ldr r1, [r0]
orr r1, #(Bit28 :OR: Bit29)
;PC.7输出模式,最大速度50MHz
and r1, #(~Bit30 & ~Bit31)
;PC.7通用推挽输出模式
str r1, [r0]
;PA9串口0发射脚
ldr r0, =GPIOA_CRH
ldr r1, [r0]
orr r1, #(Bit4 :OR: Bit5)
;PA.9输出模式,最大速度50MHz
orr r1, #Bit7
and r1, #~Bit6
;10:复用功能推挽输出模式
str r1, [r0]
ldr r0, =USART1_BRR
mov r1, #0x271
str r1, [r0]
;配置波特率-> 115200
ldr r0, =USART1_CR1
mov r1, #0x200c
str r1, [r0]
;USART模块总使能 发送与接收使能
;71 02 00 00 2c 20 00 00
;AFIO 参数设置
;Systick 参数设置
ldr r0, =SYSTICKRVR
;Systick装初值
mov r1, #9000
str r1, [r0]
ldr r0, =SYSTICKCSR
;设定,启动Systick
mov r1, #0x03
str r1, [r0]
;NVIC
;ldr r0, =SETENA0
;mov r1, 0x00800000
;str r1, [r0]
;ldr r0, =SETENA1
;mov r1, #0x00000100
;str r1, [r0]
;切换成用户级线程序模式
ldr r0, =PSP_TOP
;初始化线程堆栈
msr psp, r0
mov r0, #3
msr control, r0
;初始化SRAM寄存器
mov r1, #0
ldr r0, =Flag1
str r1, [r0]
ldr r0, =DlyI
str r1, [r0]
ldr r0, =DlyJ
str r1, [r0]
ldr r0, =DlyK
str r1, [r0]
ldr r0, =SysTim
str r1, [r0]
;主循环
main
ldr r0, =Flag1
ldr r1, [r0]
tst r1, #Bit1
;SysTick产生0.5s,置位bit 1
beq main ;0.5s标志还没有置位
;0.5s标志已经置位
ldr r0, =b_05s
;位带操作清零0.5s标志
mov r1, #0
str r1, [r0]
bl LedFlas
mov r0, #'H'
bl send_a_char
mov r0, #'e'
bl send_a_char
mov r0, #'l'
bl send_a_char
mov r0, #'l'
bl send_a_char
mov r0, #'o'
bl send_a_char
mov r0, #' '
bl send_a_char
mov r0, #'w'
bl send_a_char
mov r0, #'o'
bl send_a_char
mov r0, #'r'
bl send_a_char
mov r0, #'l'
bl send_a_char
mov r0, #'d'
bl send_a_char
mov r0, #'\n'
bl send_a_char
b main
;子程序 串口1发送一个字符
send_a_char
push {r0 - r3}
ldr r2, =USART1_DR
str r0, [r2]
b1
ldr r2, =USART1_SR
ldr r2, [r2]
tst r2, #0x40
beq b1
;发送完成(Transmission complete)等待
pop {r0 - r3}
bx lr
;子程序 led闪烁
LedFlas
push {r0 - r3}
ldr r0, =Flag1
ldr r1, [r0]
tst r1, #Bit0
;bit0 闪烁标志位
beq ONLED ;为0 打开led灯
;为1 关闭led灯
ldr r0, =b_flas
mov r1, #0
str r1, [r0]
;闪烁标志位置为0,下一状态为打开灯
;PC.7输出0
ldr r0, =GPIOC_BRR
ldr r1, [r0]
orr r1, #Bit7
str r1, [r0]
b LedEx
ONLED
;为0 打开led灯
ldr r0, =b_flas
mov r1, #1
str r1, [r0]
;闪烁标志位置为1,下一状态为关闭灯
;PC.7输出1
ldr r0, =GPIOC_BSRR
ldr r1, [r0]
orr r1, #Bit7
str r1, [r0]
LedEx
pop {r0 - r3}
bx lr
;异常程序
NMI_Handler
bx lr
HardFault_Handler
bx lr
SysTick_Handler
ldr r0, =SysTim
ldr r1, [r0]
add r1, #1
str r1, [r0]
cmp r1, #500
bcc TickExit
mov r1, #0
str r1, [r0]
ldr r0, =b_05s
;大于等于500次 清零时钟滴答计数器 设置0.5s标志位
;位带操作置1
mov r1, #1
str r1, [r0]
TickExit
bx lr
ALIGN
;通过用零或空指令NOP填充,来使当前位置与一个指定的边界对齐
END
勾选Create HEX File
:
编译
利用USB转串口烧录程序,参考STM32 F103之点亮LED流水灯 (STM32入门学习),不同的是,将波特率改为115200
:
打开野火串口调试助手,设置如图:
七.观察GPIO波形
设置
调试
打开分析仪
加观察引脚
运行
观察
设置起始点
八.总结
通过学习了解串口协议和RS-232标准,以及RS232电平与TTL电平的区别;了解"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。实现流水灯与通过观察GPIO波形可以通过观察波形检测设置的周期是否正确。
参考博客
https://blog.csdn.net/NiceBabyaaa/article/details/120933917 https://blog.csdn.net/big_west/article/details/120953789 https://blog.csdn.net/wofreeo/article/details/82389002 https://blog.csdn.net/weixin_46628481/article/details/120852364 https://blog.csdn.net/as480133937/article/details/98885316?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%AE%89%E8%A3%85%20stm32CubeMX&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-98885316.pc_search_result_hbase_insert&spm=1018.2226.3001.4187