上位机与下位机的串口通信实践

1、基础认识

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

    • 串口设备图示

img

  • 串口设备的现状:现在电脑上USB已经逐渐取代了串口,可是给串口留下了后路。没有串口的电脑上,只需要接上一个USB转串口的转换器就可以了,如下图所示。但是,在一般嵌入式开发,上位机(一般就是我们的电脑)跟下位机(也就是我们的嵌入式设备)之间最简单的通信还是串口通信, 耗资源最少。

在这里插入图片描述

  • 什么是并口
    • 与只使用一根线传递数据(这里没有包括用于接地、控制等的连接线)的串行端口相比,并口在相同的数据传送速率下,并口可以更快地传输数据(老打印机用的最多)。

    • 并口图示

在这里插入图片描述

  • 并口设备的现状:同串口类似,现在电脑上USB已经逐渐取代了并口,可是给并口留下了后路。没有并口的电脑上,只需要接上一个USB转串口的转换器就可以了,如下图所示。

在这里插入图片描述

2、使用串口进行上位机与下位机通信

注:上节已经提到:在一般嵌入式开发,上位机(一般就是我们的电脑)跟下位机(也就是我们的嵌入式设备)之间最简单的通信还是串口通信, 耗资源最少。所以,电脑和嵌入式设备如何串口连接是本文的重头戏。下面以windows PC通过USB线登陆云台相机设备(该设备安装了串口驱动,该驱动可使用USB串口,即可以像使用串口设备那样使用USB线)为例,说明通过设备的COM端口登录过程:

  • 工具准备

    • 串口通信电缆(USB本身虽不是串口设备但通过嵌入式设备安装串口驱动可以使用USB的串口,反正就是准备好USB线,哈哈)

    • Windows PC终端仿真软件,如SecureCRT或MobaXterm(笔者钟爱后者)

    • 设备正常上电

  • 操作步骤

    • 按照相机《升级说明》文档将相机固件升级到相应版本

    • SD卡根目录创建空文件mo_console.test, 并将相关算法库拷至SD卡

    • 使用USB线将电脑与设备进行连接

    • 在PC上打开终端仿真软件

    • 通过模拟终端软件登陆设备(以MobaXterm为例)

      • 打开MobaXterm软件,点击会话,新建会话

      • 在会话窗口中选择serial协议(因为我们访问的是串口)

      • 在 ”串口(serial port)“ 下拉菜单中选择设备对应的通信端口(关于查找相机设备对应的通信端口,见附加说明)

      • 在下拉菜单选择波特率(默认的9600即可),其他高级参数设置保持默认即可。

      • 点击确认,即可登录的设备

    • 登录到设备后,在命令行下将相关算法库从SD卡拷至设备,如cp /app/sd/*.so /app/lib

    • 重启设备,完成

3、附加说明

  • 如何查看设备对应的USB串口
    • 用USB线连接电脑与设备

    • 右击我的电脑

    • 选择设备管理器

    • (COM和LPT)下新增的端口名即为该设备USB串口,如下图

在这里插入图片描述