Skip to content

认识常见技术

内容类型:新手教程难度:入门适合:认识概念后想了解具体技术的学习者阅读时间:约 10 分钟前置:已了解上位机基本概念

一个上位机项目不会只用一种技术。这页帮你快速认清每个技术在上位机开发中的角色——只讲"用来做什么",不展开成完整教程

技术全景

C# / .NET

编程语言和运行平台。上位机软件最主流的语言之一。适合写桌面程序,有丰富的类库支持串口、网络、文件、数据库操作。

你需要学:变量、条件、循环、方法、类、异常处理——但不用第一天就全掌握,跟着项目边做边补。

WPF

现代桌面 UI 框架。用 XAML 写界面布局,用 C# 写逻辑。支持数据绑定(Binding)、样式模板、动画效果。是目前 C# 上位机最推荐的界面方案。

你需要学:XAML 基础、Button/TextBox/DataGrid/ComboBox 等常用控件、Binding 基本用法。

WinForms

传统桌面 UI 框架。比 WPF 更老但更简单,拖控件就能用。很多老项目还在用 WinForms,维护旧项目时需要了解。

新项目建议用 WPF,但如果你接手的是 WinForms 老项目,也不用慌——它更容易上手。

串口通信

跟硬件设备对话的通道。通过串口线连接设备,发送和接收字节数据。是上位机开发中最常见的通信方式。

你需要学:SerialPort 类的基本用法、波特率/数据位/校验位、十六进制收发、数据接收事件。

TCP/UDP 网络通信

远程控制和数据传输。当设备不在身边、需要通过局域网或互联网通信时使用。适合设备监控、远程配置、大批量数据传输。

你需要学:TcpClient/TcpListener 基本用法、连接与断开、心跳包、断线重连思路。

多线程 / 异步

不卡界面的关键技术。串口在收数据、文件在写入时,界面必须能继续响应用户操作。不能让一个耗时操作把整个程序"冻住"。

你需要学:async/await 基本用法、Task、UI 线程与后台线程的区别、什么时候不能跨线程访问控件。

数据存储

保存采集数据和配置。设备每分钟产生一堆数据,需要存起来。配置(串口号、IP、参数)下次打开软件时还在。

你需要学:文件读写(StreamWriter/StreamReader)、CSV 格式、JSON 序列化、SQLite 基本 CRUD。

日志与异常处理

排查问题的眼睛。设备半夜出问题了,第二天你要知道是什么时候、哪个环节出了问题。日志就是你的"黑匣子"。

你需要学:try-catch 基本用法、简单日志记录(时间戳+事件+数据)、日志文件不要无限增长。

技术之间的关系

mermaid
flowchart TD
    A[C# / .NET 平台] --> B[界面层 WPF / WinForms]
    A --> C[通信层 串口 / TCP]
    A --> D[数据层 文件 / SQLite]
    A --> E[基础能力 多线程 / 日志]
    B --> F[用户看到和操作的界面]
    C --> G[跟设备对话的通道]
    D --> H[保存和读取数据]
    E --> I[保证程序稳定运行]
    F & G & H & I --> J[一个完整的上位机软件]

C# 是地基,界面层让你能"看",通信层让你能"连",数据层让你能"存",多线程和日志让你能"稳"。五者合在一起,就是一个完整的上位机软件。

从哪里开始学

如果你是零基础:

  1. 先装好 Visual Studio Community(免费,安装步骤和版本选择见环境安装与版本选择),新建一个 WPF 项目,把窗口跑起来。
  2. 认识最常用的几个控件:Button、TextBox、Label、ComboBox。不需要一开始就学全部控件。
  3. 找个虚拟串口工具(如 com0com 或 VSPD),配一对虚拟串口,试着用 SerialPort 类互相收发数据。
  4. 学会用 AI 帮忙:把你遇到的问题描述给 AI,让它解释代码,生成小段修改。

不用担心"还没学完语法就开始做项目行不行"——上位机的语法需求没有你想象的那么多,很多知识是边做项目边补的。

下一步

认识了技术栈,接下来打开一个真实项目,看看文件之间是怎么组织的。

认识项目结构 →

别来无恙 · C# 上位机 AI 实战站 · 从零到交付 · QQ 群:1016188499