中断及串口通信

本文介绍了串口通信的基本概念,包括电平标准、USB转串口、波特率和校验方式等,并详细讲解了STM32的USART接发通信流程,包括数据发送和接收的过程,以及如何通过中断配置进行串口通信。文中提供了串口初始化、中断配置、数据发送和接收的函数介绍,并给出了一段实现STM32不断发送数据,直至接收到特定指令才停止的代码示例。
摘要由CSDN通过智能技术生成

一、串口通讯的相关介绍
二、USART接发通信
三、总结
四、参考资料

一.串口通讯的相关介绍

1.两种电平标准
TTL标准:当电平处于2.4~5V之间时,表示逻辑1;当电平处于 0 ~0.5V时,表示逻辑0。
RS-232标准:当电平处于-15~-3V之间时,表示逻辑1;当电平处于3 ~15V时,表示逻辑0。

RS-232标准的传输距离及抗干扰能力更好。重点是两种标准的转换。

2.USB转串口通讯
USB转串口主要是设备跟电脑通信,该过程需要电平转换芯片来实现,常用的芯片有CH340,PL2303,CP2102,FT232。使用的时候需要安装电平转换芯片的驱动。

3.原生的串口到串口
主要是控制器跟串口设备或者传感器通信,不需要电平转换芯片来转换电平,直接使用TTL电平通信。例如GPS模块。

4.波特率与比特率
波特率即每秒钟传输的码元个数,便于对信号进行解码。常用的波特率4800,9600,115200。比特率即每秒钟传输的二进制位数。

5.通讯的起始和停止信号
起始信号由逻辑0的数据位表示,停止信号可由0.5,1.5,1或2个1的数据位来表示。双方自行约定。

6.校验
通过校验码来避免数据在传输过程中,受到外部干扰而发生偏差。常采用奇偶校验,只能检测出发生偏差位的1位。

二.USART接发通信

数据发送和接收的流程

数据格式
M:字长
表示数据的长度,0表示长度为8bit,1表示长度为9bit,通常设置为0。
STOP:停止位
采用2位来设置停止位的位数,00表示1个停止位,01表示0.5个停止位,10表示两个停止位,11表示1.5个停止位。
PCE:校验控制使能
用于选择是否进行硬件校验控制,0表示禁止校验控制,1表示使能校验控制。
PS:校验选择
用于选择采用奇校验还是偶校验,0表示偶校验,1表示奇校验。
PEIP:PE中断使能
由软件设置或清除,0表示禁止产生中断,1表示当USART_SR中的PE为1时,产生USART中断。
PE:校验错误
在接收模式下,若出现奇偶校验错误,硬件对该位置位,0表示没有奇偶校验错误,1表示奇偶错误。

1.发送数据过程
数据先从PWDATA总线写入到发送数据寄存器(TDR),然后将数据一位一位的移到发送移位寄存器中,接着通过TX引脚发送出去。
接收数据过程
数据从RX引脚发到接收移位寄存器,接着将数据放到接收数据寄存器(ADR)中,最后CPU或者DMA进行读操作。

2.编写代码前的准备
①将使用已经建好的一个文件(使用固件库),将其备份成一个新文件
②在新文件中的User文件下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值