我们常用的串口是异步串口还是同步串口
我们基本每天都要和串口打交道。很多刚入门的学生都会问我:老师,我们常用的串口到底是同步的还是异步的?我们用的蓝牙模块、WiFi模块是同步还是异步?今天们就来聊聊这件事,给大家讲清楚这个问题。一、同步串口和异步串口:串口通信分两种类型:同步串口和异步串口。它们的核心区别,是不是需要统一的时钟信号去协调数据的传输。同步串口:就像合唱团需要指挥打拍子,同步串口必须必须共用一根时钟线CLK。发送方和接收方严格按节奏同步来传输,适合高速数据传输,但是需要多接一根线。优点:传输效率高,适合高速通信缺点:需要额外的时钟线,硬件连接复杂,而且通信距离比较短,容易受到时钟信号的干扰常见协议:SPI、I²C,EEPROM、传感器模块常用异步串口:
更像是两个人在对话,不需要指挥,也就是时钟线,双方提前约定好说话速度,就是用波特率来同步数据,这种常见在各种模块的通信接口。优点:硬件简单,只需要TX、RX两根线,抗干扰能力强,适合远距离通信。缺点:传输效率较低,需要添加起始位、停止位等一些冗余信息。常见协议:UART,蓝牙模块、GPS模块常用打个比方就是:同步串口像两个人用同一个节拍器说话,必须完全同步。异步串口像两个人提前约定好说话速度,各自按自己的节奏开始对话。二、为什么蓝牙、WiFi、GPS常用的异步串口?你在开发板上看到标着TX、RX的两个引脚,这就是典型的异步串口UART。常用的HC-05蓝牙模块:
这类模块选择异步串口有三大原因:1.接线简单:只需要两根线RX、TX,节省硬件资源2.协议简单:不需要复杂的时钟同步,适合新手快速上手3.通用性强:所有单片机都支持UART,兼容性好三、同步串口用在哪里?当你需要高速传输或连接多个设备的时候,就会遇到同步串口SPI:驱动OLED屏幕、FLASH存储器,需要CLK时钟线I2C:连接温湿度传感器、RTC时钟芯片,通过SCL、SDA两条线比如用I2C读取温度传感器:
四、如何选择串口类型?用异步串口UART的情况:需要简单、低成本、远距离通信,蓝牙控制、GPS数据接收、WiFi透传这样的情况。用同步串口SPI、I²的情况:需要高速、多设备、短距离通信,传感器阵列、高速存储设备。五、开发的注意事项使用异步串口时要特别注意:波特率要一致,收发双方必须设置相同的速率。电平匹配,3.3V和5V系统间要加电平转换。要有抗干扰处理,长距离传输建议用RS-485。流控制时,大数据量传输建议用RTS、CTS。建议新手从USB转TTL模块入手练习,可以通过串口助手观察数据交互过程。当你能用串口控制LED闪烁时,就已经迈出了物联网开发的第一步。对于单片机开发者来说,异步串口是必须掌握的基础技能,而同步串口是在高性能项目中才会深入使用。希望这篇文章能帮助大家理清思路,在实际项目中少走弯路!
页:
[1]
