1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 手把手教你单片机HAL库开发——中断 通信 串口

手把手教你单片机HAL库开发——中断 通信 串口

时间:2021-07-14 04:00:14

相关推荐

手把手教你单片机HAL库开发——中断 通信 串口

文章目录

前言中断基本概念使用中断来获取按键并控制LED原理图入如下CubeMX设置运行结果通信串行通信/并行通信全双工/半双工/单工通信同步通信/异步通信通信速率常见通信协议串口基础知识STM32的串口通信、串口代码设计原理图CubeMX设置源码分析查看打印信息

前言

非常感谢百问网黄老师今天的授课!

在这里推荐大家学嵌入式上百问网官网,更是有明星老师韦东山老师亲自授课。


中断

特别提示:因为在STM32MP157实验中,详细的讲述了中断,所以这里对于基本的概念就不再重述,只进行重点分析。

基本概念

通常把CPU内部产生的紧急事件,比如非法指令(除0),地址越界访问等称为异常;对于CPU外部产生的紧急事件,比如GPIO电平引脚变化,定时器溢出等称为中断。但是两者产生的效果基本一致,所以就统一称为中断。

ARM中的中断类型和种类如下

STM32的中断和优先级

使用中断来获取按键并控制LED

原理图入如下

CubeMX设置

运行结果

通信

串行通信/并行通信

数据按照传输方式,通信可以分为串行通信和并行通信。

串行通信:简单的说就是数据依次传输。

并行传输:就是几个数据一起传输

如下:

由此可见,串行传输使用的通信线少,所以成本较低,并行传输使用通信线多,传输数据快。

但是随着科技的发展,并行传输因为随着数据传输速率的提升导致通信线之间的相互影响较大,所以目前串行传输的数据还比并行传输更快。

全双工/半双工/单工通信

按照数据传输方向,通信可以分为全双工、半双工、单工。相信通过下面的一幅图即可明白三者的区别

同步通信/异步通信

按数据同步的方式,通信可以分为同步通信和异步通信。数据双方之间传输时,需要指定保证数据传输的准确。

同步通信:就是加一个时钟信号,发送方和接收方在这个时钟节拍下传输数据,比如常见的SPI。IIC就是同步通信。

异步通信:对数据进行封装,在数据的开头加上起始信号,在数据结尾加上终止信号,双方按这个规则传输数据,比如UART,1-Wire。

因为往往通过是否有时钟线来区分二者。

通信速率

对于同步通信,通信速率由时钟信号决定,时钟信号越快,传输速度就越快。

对于异步通信,需要收发双方提前统一通信速率,这也就是我们串口调试时,波特率不对显示乱码的原因。

通常使用比特率来描述通信速率的快慢,与之容易混淆的是波特率。

比特率:系统在单位时间内传输的比特位个数波特率:系统在单位时间内传输的码元个数。(码元就是承载信息量的基本单位)

码元有N个状态时,比特率与波特率的关系式: Rb=RBxlog2N

常见通信协议

在嵌入式中,有众多的通信协议,往往从性能,成本,稳定性,易用性等角度考虑选择合适的协议。常见的协议如下:

串口

基础知识

说到串口,经常提到TTL、 RS232、 RS422、 RS485,简单的说,就是为了适应不同的环境条件,使用了不同的电平标准。假如微处理器和板载的蓝牙透传模块通信时,一般就使用TTL电平,引脚直接连接即可。假如微处理器在工业现场,需要连接一个几十米外的装置,则应该考虑将TTL电平转为RS232、 RS422、 RS485。

常见通信接口标准

以TTL电平的接口为例讲解串口怎么传输数据,对于RS232/RS422/RS485等接口,仅仅是把TTL电平转换为不同的电平值,或者转换为差分信号。

TTL接口的串口,硬件连接如下图:

信号波形如下图:

STM32的串口

在嵌入式中,很多MCU和外设模块都集成有UART外设。 STM32F103系列最多有3个通用同步异步收发器( Universal synchronous asynchronous receiver transmitter, USART), 2个通用异步收发器( Universal

asynchronous receiver transmitter, UART)。 USART和UART的主要区别在于, USART支持同步通信,该模式有一根时钟线提供时钟

串口在嵌入式中经常使用,一般使用UART就足够了,常见的用途如下:

作为调试口,打印程序运行的状态信息;连接串口接口的模块(比如GPS模块),传输数据;通过电平转换芯片变为RS232/RS485电平,连接工控设备;

STM32F103系列不同USART所支持的功能如下图

USART内部结构如下

通信、串口代码设计

原理图

CubeMX设置

生成代码

源码分析

printf函数重构

主函数

查看打印信息

完成

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。