2 xiaobai 2511 xiaobai_2511 于 2016.04.13 18:40 提问

有关线程收发串口数据的问题

最近写一个项目里面用到的是基于串口通信的。
由于我需要一直处于接收数据状态,并且可以随时发送数据(我的串口是RS232,支持全双工),于是想到了用两个线程去做。
一个处于收状态,一个发包用。
现在的问题是:我只有一个SerialPort对象 ,通过跨类的信号和槽得到这个对象,但是一放在线程的run函数读写就会报错。

我曾想过把串口的设置和连接放在线程类里面做,但是我这边两个线程呢,一个链接的话,端口就会被占用,另外一个线程就没法连接 困了一天了 不知道该怎么办

我还想过把收发都放在一个线程里做 不知道这样可不可以 效率怎么样

2个回答

CSDNXIAON
CSDNXIAON   2016.04.13 18:52

Python使用线程来接收串口数据
串口收发数据时候的高低位问题
QT线程编程-串口收发
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

xyrmgzt
xyrmgzt   2016.10.08 01:54

串口通信线程
最近写一个项目里面用到的是基于串口通信的。
由于我需要一直处于接收数据状态,并且可以随时发送数据(我的串口是RS232,支持全双工),于是想到了用两个线程去做。
一个处于收状态,一个发包用。
现在的问题是:我只有一个SerialPort对象 ,通过跨类的信号和槽得到这个对象,但是一放在线程的run函数读写就会报错。
我曾想过把串口的设置和连接放在线程类里

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
linux多线程下打开串口发送和接收数据
1 启动线程1读串口 2 等待3秒后 3 启动线程2写串口,发送字符串后关闭 4 等待10秒 5 关闭两个线程   [c-sharp] view plaincopy #include    #include    #include    #include    #include   #include   #include  
多线程串口接收数据 | 全局变量的使用
开启一个新线程,死循环接收串口数据 在工程添加threa.h和thread.cpp thread.h #ifndef THREAD_H #define THREAD_H#include <QThread> class Thread : public QThread { Q_OBJECT public: Thread();
unity3d串口通信,双线程一收一处理
using UnityEngine; using System.Collections; using System.Collections.Generic;//队列 using System.IO; using System.IO.Ports; using System.Threading;//线程 using System; using System.Text;//16进制转换 public
linux下多线程多串口数据转发程序
linux下多线程多串口数据转发程序#include <sys/types.h> #include <sys/socket.h> #include <linux/in.h> #include <linux/un.h> #include <string.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> #include <mal
QT 开启线程接收串口数据并由主线程界面实时显示心电波形图
在主线程开启子线程初始化,读写串口数据,有数据就读,提取有效数据,并用信号将数据传送给主线程,创建界面对象,主线程通过开关按钮槽函数控制串口的打开关闭,图形的显示以及暂停,实时刷新波形。串口读取数据参考了博友的代码。
VC MFC 串口通信(多线程)
VC  MFC  串口通信(多线程) 现在一般用VC写串口通信,大多数人会采取下面的三种方式: 一.直接利用VC 里面的MSComm类进行编程。 二.网上也有一个比较好的类,大多数人也喜欢采用SerialPort(此类其实也比较好用) 三.应用API函数进行串口编程。         以上三种方式编程,我都用过的。。。(当然都不是很深入)。其实前两种用起来比较简单一点。就是对串口初始
VB.NET 串口异步访问
Imports System Imports System.Collections.Generic Imports System.ComponentModel Imports System.Data Imports System.Drawing Imports System.Linq Imports System.Text Imports System.IO.Ports Impor
python实战串口助手---6实现串口接收
由于昨天早晨没有调试成功,心里一直不爽,觉都睡不好,于是今早不到2点就起来继续调试,终于把昨天的BUG找到了,还是串口参数配置的问题,先上代码。 #! /usr/bin/env python # -*- coding: utf-8 -*-    import time import datetime import threading import binascii import p
QT串口编程--多线程
最近在做项目,在虚拟机里做好了软件,在ARM上跑
MFC串口调试助手线程监听事件小解
这里以线程监听串口数据,实现串口数据的自动接收为例进行说明: 首先,线程监听需要一个线程函数:(DWORD WINAPI) UINT  CSerialDAWDlg::ThreadFunc(LPVOID pParam){ COMSTAT ComStat; DWORD dwErrorFlags = 0; DWORD wCount = 0; CString str; while(1){