首页 > 其他分享 >qt 连接扫码枪,检查串口插拔

qt 连接扫码枪,检查串口插拔

时间:2024-07-26 10:57:18浏览次数:6  
标签:插拔 扫码 scanSN pMsg key 串口 message DBT

bool MainWindow::nativeEvent(const QByteArray &eventType, void *message, long *result)
{
    Q_UNUSED(result);
    Q_UNUSED(eventType);
    MSG* pMsg = reinterpret_cast<MSG*>(message);

    if (pMsg->message == WM_KEYUP)
    {
        ushort key  = pMsg->wParam;
        if (key == '\r')
        {
            ui->sn_lineEdit->setText(m_scanSN);
            m_scanSN = "";
        }
        else
        {
            //可见字符
            if (key >=  32  && key < 127)
            {
                m_scanSN = m_scanSN + QChar(key);
            }
        }
    }

    if(pMsg->message == WM_DEVICECHANGE){
        PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)pMsg->lParam;
        switch (pMsg->wParam) {
        case DBT_DEVICEARRIVAL:
            if(lpdb->dbch_devicetype == DBT_DEVTYP_PORT){
                qDebug()<<"插入串口设备!";
                emit signalUpdataSerialPort();
            }
            break;
        case DBT_DEVICEREMOVECOMPLETE:
            if(lpdb->dbch_devicetype == DBT_DEVTYP_PORT){
                qDebug()<<"串口设备离开";
                m_SerialPort.closeSerialPort();
                ui->openSerialport_Btn->setText("打开串口");
                m_serialPortStatus = false;
                logMessage("关闭串口");
                emit signalUpdataSerialPort();
            }
        }
    }

    return false;
}

 

标签:插拔,扫码,scanSN,pMsg,key,串口,message,DBT
From: https://www.cnblogs.com/RedWetPlace/p/18324868

相关文章

  • Delphi CnPack CnRs232 以16进制 串口发送消息 WriteCommData
    使用Delphi组件CnPack里面的CnRs232,以十六进制对串口发送消息 WriteCommData找了好久,尝试了N个方法,不想安装MSComm,SPComm在新版Delphi有点怪怪的,还是用cnRs232直接上代码:procedure TForm1.Button1Click(Sender: TObject);var  DataArray:array of byte; Wl......
  • 新版saas餐饮外卖小程序源码通用小程序,扫码点餐,DIY装修,代付,收银台,全开源
    新版saas餐饮外卖小程序源码通用小程序,扫码点餐,DIY装修,代付,收银台,全开源新版saas餐饮外卖小程序源码通用小程序,扫码点餐,DIY装修,代付,收银台,全开源使用场景:百货超市/奶茶店/加盟餐饮店/蔬菜店/零食店/咖啡店/水果店/便利店/蛋糕店通用小程序。营销玩法:优惠券、满额立减......
  • STM32F103C8T6与LD3320进行串口通讯控制LED灯的亮灭
    目录概要整体架构流程技术名词解释技术细节LD3320部分LD3320串口测试32单片机代码部分main.c(要与LD3320保持一致)串口部分概要STM32微控制器与LD3320语言模块通过串口进行数据交互,实现语音识别和控制功能。整体架构流程通过STC-ISP将LD3320部分的代码烧录进LD......
  • 微信小程序 - 最新详细实现 “餐厅食堂外卖点餐“ 全屏左右联动菜单列表功能界面,附带
    前言如果您需要“简约通用”的左右联动功能,请访问这篇文章。在微信小程序开发中,详解实现仿饿了么、美团外卖用户点餐左右联动界面,全屏适配左边菜单分类右侧商品菜单列表数据,顶部是搜索栏可搜索定位对应锚点位置及商品,左侧导航菜单点击时右侧商品跟着变化,反之列表滑动......
  • 扫码支付后都发生了啥?
    1金融业务业务模式划分:交易类业务,如扫码支付信贷类业务扫码支付普遍但不简单:扫码支付是最具代表性,最常见的金融场景传统银行业务的标志性机构大多参与到扫码支付过程,可通过扫码支付了解国家金融系统运作扫码业务同时具有互联网应用和机构应用的技术特点:既要对......
  • WCH-LinkW无线下载仿真调试器&无线串口通信(主/从机模式)-RISC-V/ARM内核MCU无线DAP下
    LinkW-1V1 主机 硬创社搜索(WCH-LinkW):WCH-LinkW无线下载仿真调试器-硬创社 板载PCB天线:2.4G板载天线AD库资源-CSDN文库简介: WCH-LinkW无线下载仿真调试器&无线串口通信(主/从机模式)。应用场景: 1、用于RISC-V/ARM内核MCU无线DAP下载仿真调试器2、......
  • 张高兴的 MicroPython 入门指南:(三)使用串口通信
    目录什么是串口使用方法使用板载串口相互通信硬件需求电路代码使用板载的USB串口参考什么是串口串口是串行接口的简称,这是一个非常大的概念,在嵌入式中串口通常指UART(UniversalAsynchronousReceiver/Transmitter,通用异步收发器)。使用串口进行的通信叫做串行通信,与之相对的一......
  • PyCharm远程部署带屏幕影响串口
    我有一个Flaskapp.py,我正在本地计算机上开发。Flask应用程序使用连接到远程计算机的串行接口(pyserial)。我设置PyCharm以在远程计算机上进行远程部署机器。当我远程(从本地机器)部署和运行应用程序时,我想在独立的screen中启动它,以便我可以在需......
  • MSPM0G3507学习——串口通信
    注意引脚分配 只使能(Enable)接收中断(Receive) 代码:#include"ti_msp_dl_config.h"volatileuint8_tgEchoData=0;intmain(void){SYSCFG_DL_init();//清除UART0的中断挂起位NVIC_ClearPendingIRQ(UART_0_INST_INT_IRQN);//启用UART0......
  • 串口通信操作方法及三种实现方式(基于百问网DshanMCU-F103)
    UART全称为通用异步收发器,英文全称(UniversalAsynchronousReceiver/Transmitter)。是一种串行、异步、全双工的通信协议。一、使用方法UART首先将接收到的并行数据转换成串行数据来传输,消息帧从一个低位起始位开始,后面是5-8个数据位,一个可用的奇偶位和一个或几个高低停止位......