最近要做一个串口通信的系统,那必然会联系到上位机和下位机概念,那单片机又是什么呢?我们一起来看一下!

一、上位机

上位机指的是可以直接发送操作指令的计算机或者单片机,一般提供用户操作交互界面并向用户展示反馈数据。

  • 典型设备:电脑、平板、手机、面板、触摸屏

上位机软件是用于完成上位机操作交互的软件

二、下位机

下位机指的是与机器相连接的计算机或者单片机,一般用于接收和反馈上位机的指令,并根据指令控制机器执行动作以及从机器传感器读取数据

典型设备:PLC、stm32、51、FPGA、ARM等各类可编程芯片。

三、上位机和下位机的关系
  • 上位机给下位机发送控制命令,下位机接收到此命令并执行相应的动作;
  • 上位机给下位机发送状态获取命令,下位机接收到此命令后调用传感器测量,然后转化为数字信息反馈给上位机;
  • 下位机主动发送状态信息或者报警信息给上位机。

为了实现以上过程,上位机和下位机都需要独立进行编程,都需要专门的开发人员在各自的平台上编写代码。

四、其他概念
  1. 通信协议:上位机和下位机之间的通信协议有很多,只要完成通信的协议都可以在上位机和下位机之间,比如USB,蓝牙,UDP/TCP
  2. 通信API:在通信协议的基础上,具体发送什么数据即发送什么指令,还需要规定各个功能对应的指令,每个功能对应的指令叫做API。

只要通信协议可以建立,上位机软件可以是任意开发语言和任意平台,下位机也可以是热议类型的单片机。

开发上位机软件与其他软件的最大区别在于“上位机软件要连接设备并与之通信”