serial-port相关内容

QSerialPort 可以读取超过 512 字节的数据吗?

我想使用 QSerialPort 读取从设备传输的数据.设备每次传输 4000 个数据字节的帧.我尝试使用以下简单代码 QSerialPort *serialPort;字符接收数据[4000];int numRead = 0;MainWindow::MainWindow(QWidget *parent) :QMainWindow(父),ui(新的 Ui::MainWindow){ui->setu ..
发布时间:2022-01-18 14:54:29 C/C++开发

如何使用 PyQtGraph 提高速度并使用多个绘图拆分数据?

我正在使用 STM32 套件从串口读取数据.问题是我需要使用自己的时间戳来绘制 ADC 数据.这意味着 x 轴应该是我的 RTC 时间(为此使用 ms),y 轴是 ADC 数据.有用于绘图串行端口的程序,但正如我所说,我需要为图形设置自己的时间.我为此尝试了 matplotlib,但它真的很慢.然后使用了pyqtgraph和这个脚本: from pyqtgraph.Qt import QtGui ..
发布时间:2022-01-18 14:54:20 Python

来自 QSerialPort 的 readAll() 不包括最后发送的响应

我正在使用 Qt 来控制串行设备.如果我向串行设备发送命令,我会执行 serial->write("command \r\n") 之类的操作.我做了一个按钮,它将纯文本小部件内的文本更改为串行端口的响应.为了得到串口的响应,我使用了serial->readAll().问题是它显示了倒数第二个响应,而不是我期望的响应.Qt 是否有某种缓冲区来保存此响应? 编辑我使用递归搞砸了它并比较了收到的字 ..
发布时间:2022-01-18 14:54:14 C/C++开发

如何通过 COM1 向我的收据打印机发送 DOS 命令?

如何通过 COM1 向我的收据打印机发送 DOS 命令? 我目前正在开发收银机软件,但在使用收据打印机时遇到了问题.我需要能够通过 DOS 向打印机发送十六进制命令. 到目前为止,我已尝试执行以下操作. 打开 CMD输入复制con:com1输入一个十六进制数按 Ctrl + Z按回车 根据我所阅读的内容,这应该将十六进制数字作为命令发送到打印机.但它只是将数字作为字符串发送 ..
发布时间:2022-01-18 14:53:56 其他开发

Unity 中的 C# SerialPort 事件处理程序

我正在为 Unity 编写 C# 代码.只需在 EventHandler 中读取 SerialPort 值.问题是没有调用处理程序.这是代码 使用UnityEngine;使用 System.Collections;使用系统;使用 System.IO.Ports;公共类 MainScript : MonoBehaviour {公共串行端口我的串行端口;公共静态浮动速度=100;游戏对象立方体;公共 ..
发布时间:2022-01-18 14:53:34 C#/.NET

linux env python中的usb自动检测

我在 python 中使用轮询命令(glob('/dev/tty[A-Za-z]*')) 以定期为我的应用程序检测连接到我的 linux pc 的 USB 设备.有什么方法可以检测自动连接的 USB 设备? 解决方案 我建议使用 libudev 并创建一个 udev 监控对象来检测热插拔设备.这里是您了解 libudev 及其监控功能的起点: https://www.freedesk ..
发布时间:2022-01-18 14:53:19 服务器开发

为什么我收到的串行 BT 数据会被截断?

我从 BT 串行连接接收到的数据应该是: 0123...2728290123...等等 但我实际上得到的是一些数据被切掉了.像这样: 11121314151617181920 在 BTSerialService.java 中 /*** 此线程在与远程设备连接期间运行.*它处理所有传入和传出的传输.*/ 私有类 ConnectedThread 扩展 Thread {私有最终蓝牙套接字 ..
发布时间:2022-01-18 14:53:12 移动开发

C语言的UART通信(十六进制)

我想向写入函数发送一个十六进制值.(例如,0×90).这是因为需要通信的设备以十六进制数字接收命令.未使用的变量在测试和注释时出现,丢失十六进制值,稍后将被删除.怎样才能写出除String以外的十六进制值的写函数? 对于初学者,请告诉我们如何通过读写函数交换十六进制值. #include #include #include #in ..
发布时间:2022-01-18 14:53:02 其他开发

qt 读取就绪信号

我正在尝试与在 1996 处理器上运行的设备建立串行连接.这意味着数据可能需要几秒钟才能传回给我.我知道每次有新数据可用时都会生成 readyRead 信号,但我的问题是生成多长时间.这也是我可以测试就绪读取是否低的一种方式,因为如果当它们不再有任何数据可供读取时停止发出它,那将非常有帮助. 做{ui->label_5->setText(“readyRead");} while (readyR ..
发布时间:2022-01-18 14:52:56 C/C++开发

从串行端口读取和发送数据

我正在尝试进行串行端口通信以发送和接收数据.场景如下: 我连接到一个串行端口并启动我的设备.当它倒计时做某事时,我应该暂停它并向它发送一些命令来工作.一切正常,然后再次开始继续. 现在我通过互联网搜索,c# 适合我.你可以在做这个的时候给我一些建议吗?我该如何开始,我需要使用哪些方法?谢谢. 解决方案 这里有详细指南 这里介绍了在 C# 中使用串行端口的良好做法. ..
发布时间:2022-01-18 14:52:41 C#/.NET

拒绝访问端口“COM5"

我收到以下错误消息访问端口“COM5"被拒绝.从我的表单运行以下方法时.我尝试从设备管理器的端口设置中输入正确的波特率 9600.我也尝试过通过 Portmon 访问设备,但有一个错误阻止我连接.有什么办法可以解决这个问题? //字段列表myReceivedLines = 新列表();//port.DataReceived 事件的订阅者方法private void DataR ..
发布时间:2022-01-18 14:52:35 C#/.NET

Python - 可用时从串行端口数据逐行读取到列表中

我的目标是编写一个代码,该代码将无限期地监听和读取串行端口,每隔几秒就会产生一次输出 串口输出: aaaa::abcd:0:0:0//printf("%d\n",data[0]);2387//printf("%d\n",data[1]);14-9244-44108 我希望将数据附加到这样的列表中,python 假定输出 [abcd::abcd:0:0:0, 2387, 14, -9, ..
发布时间:2022-01-18 14:52:25 Python

同时管理来自两个进程的串口

我有以下场景: Rasperry pi 通过串口连接到设备 3g 加密狗连接到树莓派(能够拨打/接听电话) 一个进程从串口读取数据并将其重定向到服务器(使用 3g) 另一个等待来电的进程,当有人来电时,程序从串行端口获取数据,并使用 AT 命令(如传真呼叫)通过 3g 加密狗将其重定向.当有人呼叫时,呼叫是使用 AT 命令进行的,呼叫者应该能够与连接到串行端口的最终设备“通话". ..
发布时间:2022-01-18 14:52:10 服务器开发

Unix:如何清除串口 I/O 缓冲区?

我正在为标准 PC 串行端口开发“高级"C++ 接口.当我打开端口时,我想清除输入和输出缓冲区,以免接收或发送以前使用端口的数据.为此,我使用了 tcflush 函数.但是,它不起作用.怎么可能?我的“端口开放"代码如下所示.是的,我使用 C++ 异常,但没有抛出异常.这表示 tcflush 返回 0 但不清除缓冲区. 我可以清除输入缓冲区的唯一方法是从中读取字节,直到没有剩余为止.这通常需 ..
发布时间:2022-01-18 14:51:49 服务器开发

如何在 Linux 上的串口设备上设置非标准波特率?

Linux下自定义波特率有哪些方法? 此问题的答案必须在系统调用级别之上的用户级低级 API(ioctl 等)级别.至少在这些情况下它应该是有用的: 编写使用串行端口的基于 C 的低级用户态代码, 编写抽象串口功能的库, 编写内核串口驱动程序. 解决方案 不幸的是,事情是依赖于驱动程序的.好的驱动程序将实现以下所有方法.糟糕的驱动程序只会实现其中的一些方法.因此,您 ..
发布时间:2022-01-18 14:51:37 服务器开发

数据在通过串行端口传输期间损坏

我正在开发一个程序来与旧系统进行通信.我为此使用 System.IO.Ports.SerialPort.问题是当我发送更长的消息时,消息会损坏.我使用线路监听器并得到以下结果 我发送的内容 aa 01 00 00 12 03 06 18 02 c1 94 02 c1 94 00 00 00 00 00 00 00 00 00 00 00 00 1e fd 我得到了什么 c2 aa 01 ..
发布时间:2022-01-18 14:51:29 C#/.NET