[002]嵌入式学习:通信——串口调试实验

【本文为百问网&韦东山【物联网智能家居实战训练营】学习笔记系列】


引言

串口是嵌入式中非常重要的一个外设。通常将串口作为调试接口,将开发板的调试信息打印到电脑的串口助手工具,可极大方便调试工作。

1 关于串口

1.1 串口的相关理论知识

串行接口 (Serial Interface)简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。

一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位的传送,按位顺序进行,最少只需一根传输线即可完成;成本低但传送速度慢。串行通讯的距离可以从几米到几千米;根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。

串行接口是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

常见的串口包括TTL、RS232、RS422、RS485,简单的说,就是为了适应不同的环境条件,使用了不同的电平标准。

图1 不同通信电平应用的场景

表1 是几种通信接口标准总结。从TTL到RS232再到RS485,可以发现为了加大传输距离,依次尝试了增加电压、差分传输等方式。

表1常见的串行通信接口标准

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

图2 TTL 电平的串口硬件连接示意图

下面以字符“A”的发送为例,讲解如何采用串口发送一字节数据。“A”的ASCII值是0x41,二进制就是01000001,把这8位数据从一方发送给另一方的工作流程如下:

  • 双方约定好波特率、数据格式(数据位个数、停止位个数、是否使用校验位、奇校验还是偶校验), 假设数据位是8,停止位是1,校验位是1;
  • 初始电平为逻辑1;
  • 发送方输出逻辑0,并保持1位的时间;
  • 接收方检测到逻辑0,就知道对方准备发送数据了;
  • 发送方根据数据的bit 0设置引脚电平,并保持1位的时间;接收方读取引脚电平,得到bit 0;
  • 发送方根据数据的bit 1设置引脚电平,并保持1位的时间;接收方读取引脚电平,得到bit 1;
  • 以此类推,发出8位数据;
  • 发送方计算出校验值,设置引脚,并保持1位的时间;接收方读取引脚电平,得到校验值;注意, 此步骤可省略;
  • 发送方输出逻辑1,并保持1位的时间
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值