上位机与下位机

文章阐述了上位机和下位机的概念,上位机如电脑、手机用于发送指令和显示反馈,下位机如STM32等芯片接收指令并控制设备。两者间需建立通信协议,如RS232、TCP/IP等,并定义API来规范指令。任何开发语言和平台都可实现上位机,单片机类型不限于下位机。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

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

典型设备类型:电脑、手机、排版、触摸屏等。

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

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

上位机与下位机的关系

为了实现以上功能,上位机和下位机都需要单独编程,都需要专门的开发人员在各自两个平台编写代码。

上位机与下位机之间的通信

上位机与下位机在通信之前要先建立通信协议,建立完成后上位机就可以发送指令了。

通信协议

上位机与下位机之间的通信协议有很多,只要能完成通信的协议都可以用在上位机与下位机之间。

常见用于上位机与下位机之间的通信协议:RS232、RS485串行通信、USB/蓝牙、UDP/TCP等。

通信API(Application Programming Interface)

在通信协议的基础上,具体发送什么指令,还需要规定各个功能所对应的指令,每个功能所对应的指令叫做API,API也常称为”私有通信协议“。

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

  • 上位机给下位机发送控制命令,下位机收到命令并执行相应的动作。
  • 上位机给下位机发送状态获取命令,下位机收到命令后调用传感器测量,然后转化为数字信息反馈给上位机。

  • 下位机主动发送状态信息或警报信息给上位机。

在同一界面下放上所有的按钮去控制,按钮间的逻辑关系有点复杂。即使做出来用户用着也会感觉有些别扭,据此我们干脆分成几个界面来做。(总控退出按钮不要也行) 第一界面:楼体、环境、退出; 第二界面:楼体1、楼体2、返回、退出; 第三界面:户型A01---A04、B01---B04、返回、退出; 第四界面:户型2-01---2-04、返回、退出。 按钮1>>楼体, 按钮2>>环境; 按钮3>>楼体1, 按钮4>>楼体2, 按钮5>>返回; 按钮6---按钮13>>[A01---A04][B01---B04], 按钮14>>返回; 按钮15---按钮18>>[2-01---2-04],按钮19>>返回; (0-F路为16继电器输出) 程序动作如下: 第一界面: 1. 按钮1开-开[0]路>>弹出第二界面;按钮1关-关[0]。 2. 按钮2开-开[1]路,按钮2关-关[1]路。 第二界面: 1. 点击按钮3-开[2]路,>>弹出第三界面。 2. 点击按钮4-开[3]路,>>弹出第四界面。 3. 点击按钮5>>返回第一界面。 第三界面: 1. 按钮6开-开[4]路,按钮6关-关[4]路。 2. 按钮7开-开[5]路,按钮7关-关[5]路。 3. 按钮8开-开[6]路,按钮8关-关[6]路。 4. 按钮9开-开[7]路,按钮9关-关[7]路。 5. 按钮10开-开[8]路,按钮10关-关[8]路。 6. 按钮11开-开[9]路,按钮11关-关[9]路。 7. 按钮12开-开[A]路,按钮12关-关[A]路。 8. 按钮13开-开[B]路,按钮13关-关[B]路。 9. 点击按钮14-关[2][4-B]路>>返回第二界面。 第四界面: 1. 按钮15开-开[C]路,按钮15关-关[C]路。 2. 按钮16开-开[D]路,按钮16关-关[D]路。 3. 按钮17开-开[E]路,按钮17关-关[E]路。 4. 按钮18开-开[F]路,按钮18关-关[F]路。 9. 点击按钮19-关[3][C-F]路>>返回第二界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值