You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QtSerialPort使用何种Windows API?我的USB CDC设备仅兼容该库

QtSerialPort 底层API说明

QtSerialPort是跨平台的串口通信封装库,它本身没有实现独立的底层通信逻辑,而是对不同平台的原生系统API做了封装:

  • 在Windows平台下,它直接调用标准的Win32串口API,比如CreateFile()、ReadFile()、WriteFile()、SetCommState()等核心函数,以此和usbser.sys驱动交互——你的CDC设备被该驱动映射为虚拟串口,QtSerialPort通过Win32 API就能直接操作这个抽象后的串口设备。
  • 在Linux、macOS等其他平台,它会对应调用各平台的原生串口接口(比如Linux的termios系列函数)。

你用libusb失败的核心原因:libusb是直接操作USB硬件层的库,但你的设备已被usbser.sys接管并抽象为串口,此时libusb直接访问会与驱动产生冲突;而QtSerialPort是通过系统串口API访问驱动抽象后的设备,因此可以正常工作。

内容的提问来源于stack exchange,提问作者euraad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 08:35:20