简洁易懂的STM32轮询模式串口通信介绍-cubeIDE/cubeMX的串口讲解-基于keysking的教程笔记

本次我们要探讨的是TTL串口,它仅需2根线便可完成两个设备的双向通信。7b19eb87be1e4594b2ddfd90982caf7a.jpg

 两方通过在数据线上发送固定频率的高低电平代表1和0来进行通信。

此外,双方共地来确保0电势的相同来保证对高低电平判断的正确。

 我们在使用中,TX(A发送io口)连接RX(B接收io口),同样,B的TX连接A的RX。

接下来我们来看一看配置部分。这里只展示串口部分的配置。

我们可以在Connectivity下找到USART(通用同步(异步)通信)

要使用TTL 串口我们需要改为异步模式(Asynchronous)

下方基础配置中的Baud Rate(波特率)是指每秒传输码元数量,也就是每秒的高低电平信号。

而在实际通信中,每传递一字节信息(8bit),还需要起始位和停止位,共10bit,也就是说,我们115200的波特率下,每秒传递11520个字节。双方的波特率在通信时要保持一致。

下方的字节长度,校验位,停止位,我们平常保持默认即可。

保存并生成代码,我们可以发现,如下函数帮我们初始化了串口2。

接下来我们就可以通过如下函数来发送数据了。

同样,通过如下函数来接收数据。

上面我们提到的只是轮询模式下的串口收发,我们在发送或接受数据时是阻塞时的,无法在进行其他任务的同时来处理数据,之后我们会介绍中断模式的非阻塞式发送以及原理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值