当前位置: 首页 > article >正文

基于QT用工厂模式实现串口通信与网络通信激光器的控制

  1. 配置文件

网络配置:IP+Port

串口配置:端口号+波特率

首先,我们需要创建一个配置文件 config.ini,内容如下:

[SerialLaser]
portName = COM1
baudRate = 9600

[NetworkLaser]
ipAddress = 192.168.1.1
port = 1234

两类激光器的实现:

#include <QCoreApplication>
#include <QSettings>
#include <QSerialPort>
#include <QTcpSocket>
#include <iostream>
#include <memory>

// 抽象激光器类
class Laser {
public:
    enum class Mode { GATE, TRIG };

    virtual void communicate() = 0; // 抽象方法
    virtual void turnOn() = 0; // 开关方法
    virtual void turnOff() = 0; // 关闭方

http://www.kler.cn/a/371860.html

相关文章:

  • Vue3 学习笔记(十三)Vue组件详解
  • 数据结构 之 二叉树遍历 ------中序(根)遍历 和 后序(根)遍历(六)
  • macOS 15 Sequoia dmg格式转用于虚拟机的iso格式教程
  • 小米迎来「新起点」:硬核创新从超越到引领,小米SU7 Ultra 发布
  • gin入门教程(8):渲染与静态文件
  • NOIP-2022 题解
  • miRNA分析流程学习(四)/miRNA芯片数据差异分析再学习以及异常火山图可能原因解释
  • 【TEST】负载/性能测试工具 Grafana K6 (Docker 版)
  • 【系统架构设计师】案例分析预测试卷一(3道材料题)
  • 小满OKKICRM与钉钉数据集成方案解析
  • 扶贫工作数字化:SpringBoot精准扶贫系统
  • Python实现的简单时钟
  • 探索自动化数据清洗技术的前沿趋势
  • java项目使用HttpServletRequest request接参,怎么获取参数的值,怎么获取form值,怎么获取body值
  • HTML入门教程17:HTML块
  • 深度|谁在为OpenAI和Anthropic的AI编程竞赛提供“军火”?已赚得盆满钵满
  • Javaweb 实验6 JSP内置对象
  • 文心一言 VS 讯飞星火 VS chatgpt (380)-- 算法导论24.4 12题
  • Oracle 19c OCM技术培训课程深度解析
  • 刷代随有感(134):单调栈——下一个更大元素I(难点涉及哈希表与单调栈的结合)
  • jenkins搭建及流水线配置
  • 求助帖:ubuntu22.10 auto install user-data配置了为何还需要选择语言键盘(如何全自动)
  • python通过translate库实现中英文翻译
  • 【libGL error】Autodl云服务器配置ACT的conda虚拟环境生成训练数据时,遇到了libGL相关错误,涉及swrast_dri.so
  • 数据采集(全量采集和增量采集)
  • 三方接口调用设计方案