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

问题描述

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

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

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

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

解决方案

Python使用线程来接收串口数据
串口收发数据时候的高低位问题
QT线程编程-串口收发

时间: 2024-09-10 22:39:43

串口通信-有关线程收发串口数据的问题的相关文章

51单片机串口通信时,接收到数据后为什么在while语句中将EA置1

问题描述 51单片机串口通信时,接收到数据后为什么在while语句中将EA置1 刚进入while语句时为什么要将EA置1??程序如下: #include #define uchar unsigned char uchar numaflagbenum; sbit beep=P2^3; void init(); void main() { init(); while(1) { if(flag==1) { EA=0; flag=0; TR0=1; if(a==1) { benum=4; } if(a=

数据发送-C#中串口通信发送20字节的数据

问题描述 C#中串口通信发送20字节的数据 20字节数据是指160位二进制数吗?转换成整型怎么定义,最大也只有64位?还是指一个一个的数据,总共有20个? 解决方案 用byte[]发送.当然也可以用int[],一共需要5个int或者20个byte serialPort1.Write(字节数组)

串口通信内存泄露-C#串口通信高速向下位机发送数据出现内存不断增加

问题描述 C#串口通信高速向下位机发送数据出现内存不断增加 using System; using System.Linq; using System.Collections.Generic; using System.Text; using System.IO.Ports; using System.Windows.Forms; namespace MSPCS { /// /// 通讯端口,用于和上位机通讯 /// 上行与下行使用同一种格式: /// /* 同步头 6 Byte EB90EB9

mfc串口通信-大神! 串口通信多编辑框显示到一个编辑框!求教代码!谢谢!

问题描述 大神! 串口通信多编辑框显示到一个编辑框!求教代码!谢谢! 是这样的.串口通信中有多个发送编辑框 现在需将这多个编辑框的内容显示到一个大的(最后的,总的)发送编辑框中 现如今这段代码遇到了问题 !求大神指点 我是个初学者 解决方案 大神指点就好啦,非常感谢!

串口通信-c++ PC通过串口发送Versions命令给处于FTM模式的手机,希望得到手机版本信息

问题描述 c++ PC通过串口发送Versions命令给处于FTM模式的手机,希望得到手机版本信息 c++window api 实现pc与处于FTM模式的手机串口通信,处于FTM模式的手机通过usb线连接 PC,这根usb线是5ping的线,连上手机自动进入FTM模式,当我们向串口中写入Versions字符串时,从串口读出的是Versions字符串,而不是我们希望得到的手机版本信息,后来发现向串口写什么,从串口读取的就是什么,

51单片机串口通信-51单片机编程串口通信问题

问题描述 51单片机编程串口通信问题 #include unsigned char a[]="i love"; unsigned int b=0; void love()interrupt 4 {if(TI==1) TI=0; } void delay(unsigned int a) {a--; } void main() {EA=1; ES=1; TMOD=0X20; TH1=0XFD; TL1=0; TR1=1; SM1=0; SM1=1; while(1) {for(b=0;b&

串口通信-C++如何接受串口返回的数据

问题描述 C++如何接受串口返回的数据 void CNewTestDlg::OnStart() { // 55 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 03 FD D4 14 01 17 00 CByteArray SendTemp,hexdata; COleSafeArray safearray_inp; CString strtemp; SendTemp.SetSize(24); SendTemp.SetAt(0,0x55); Send

串口通信-C# 如何过滤串口接收到的数据

问题描述 C# 如何过滤串口接收到的数据 我在已经做了一个串口调试工具 接收GPS接收机上的各项数据 我想过滤调一些不必要的数据 请问怎么在输出前给过滤掉再输入到文本框中 例如:接收到的数据(如下) 我只想输出$GPGGA 然后过滤掉$GNGSA $GPGST $GPGSV $GPGGA,024830.00,2307.3027560,N,11221.9341760,E,7,23,0.6,28.4880,M,-6.652,M,99,AAAA*7C $GNGSA,M,3,23,31,19,03,13

串口通信-python serial write 串口发送数据出现问题 困扰了两天了

问题描述 python serial write 串口发送数据出现问题 困扰了两天了 发送端: 系统:ubuntu 14.04 $sudo chmod o+rwx /dev/ttyUSB0 $python 2.7.6-- import serial ser = serial.Serial('/dev/ttyUSB0',57600) ser.write('x01') 接收端: 系统windows 7 串口助手 波特率 57600 数据位 8 检验位 None 停止位 1 接收到的数据为(十六进制显