delphi 串口通信发送_从STM32分享各类硬件及总线-串口总线

上次跟大家聊到了电源部分,这次我们聊聊stm32的的串口,从最简单的串口发开开始,我们一步一步深入了解SMT32的开发,我们首先了解一些串口的知识。所谓串口其实就是通过串行数据发送的,也就是一个字节一个字节的发送数据,与此对应的还有并行发送,也就是只有数据通过多条线同时发送数据。我们通过一个表格来看一下差别,借鉴一下网上的资料如下所示:

d7636b4a92bb48bbb0086e2b7b15c65f

我们通过对比知识可以知道他们的优缺点,在通信距离方面,我们可以很明显的看到串行通信的距离相对较远,抗干扰能力也好,而且由于串行是单线的所以成本也相对较低。我们再来看看他的电气特性,在测试的时候我们一定要知道,串口的232电气电平高电平3~15V,低电平是-3~-15V,在其他信号的时候电平是无效的,而串口的TTL电平是输出低电平是小于0.8V,而输出高电平是大于2.4V,输入是低电平是1.2V,高电平是大于2V。

我们在来看看串口的数据格式,串口通信由起始位+数据位+停止位组成,我们先看一个通信的时许逻辑图,我们看到在每次通信的时候都有一个起始位,只有开始发送起始位的时候才能进行通信,然后就是数据位,数据位是根据电平来算的,TTL电平为1的时候数据RS232电平就是0,TTL电平为0的时候RS232数据就是1,RS232电平与TTL电平是反向的。

e451c9e255dd40d98f6a2e417a4cfb1e

看完串口的协议我们来看一下串口的链接方式,串口只需要3根线就可以正常通信,一根是发送线也叫TXD,一根是接受线叫做RXD,还有一个是地线,因为需要共地。我们来看一下九针串口线的定义,如下所示:

ab7461c9fd374c8289c7ad0eff782eb8

我们通常使用的是收据接受和数据发送,也就是我们最常用的2、3、5引脚,串口的接线需要交叉通信,即A与B通信,A的发送接B的接收端,A的接收端接B的发送端。看完串口的基本知识我们开始来看STM32的串口相关知识,我们就算不知道STM32 的相关知识,我们也能够很清楚知道要设置哪些东西,首先是串口对应的引脚、传输的波特率、起始位、数据为、结束位,设置完这些东西我们基本上就可以通信了。我们再来根据这些知识来看看STM32怎么设置串口通信的吧,本来按照理论上来讲,我应该先讲STM32的相关知道,但是今天我已经写到串口了,先将串口,明天给大家系统的讲STM32的一些基础知识。我们来看一下STM32的串口都对应哪些引脚:

238a10aa4bd24812baf8dded65dc676c
839e9ebaa3f34141a7883a17c6e8f514
24e06472262f49488a76c07145dd4de3
0e357a66524f45de862dbc3e36bee8a4
2c6a6ad0d92145b0a28ddf9032243c14
9b54fea54138469b9fe3f129e818b5f9
bbce3b82c37c4dde96cfb45d730a5530

我给大家找到了对应的引脚图,从图中可以看出,我们的串口都有一个默认的引脚,具体表格如下所示:

11571e4678074701a95875d07887a4c9

我们可以很清楚的看到,串口1的默认引脚是PA9和PA10,重定义引脚是PB6、PB7。而串口2的默认引脚是PA2、PA3,重定义引脚是PD5、PD6。串口3的默认引脚是PB10、PB11,而其重定义引脚则可以是PD8、PD9,也可以是PC10和PC11,具体的我们可以根据我们设计进行选择。看完引脚我们接下来看一下STM32的串口其他参数的设置,我们看一段STM32串口初始化的代码:

3f39420e54074ea697d8aef0651316c8

STM32串口初始化代码

按照我们上面讲的知识一个一个我们来对,首先是开启串口的时钟,因为任何一个总线想要使用都是需要时钟的,所以我们首先开启时钟。开启时钟之后我们就开始设置串口对应的引脚,设置完引脚之后我们要设置他的中断向量(我们后期再讲中断向量),然后我们设置串口的参数包括波特率、字节长度、停止位、还有一个校验和硬件流、串口模式设置为既可以发送也可以接收。最后就是使能串口,接上串口线就可以进行通信了。如果想要串口代码的可以加关注并私信我,我把相关代码发给你,这期的基本知识就到这里,等我整理好了,我从0开始讲STM32相关的知识,到时候可以从零开始学STM相关的知识,由于内容较多,需要时间整理。希望大家关注我,有新更新会及时告知大家,感谢大家的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值