串口通信-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);
SendTemp.SetAt(1,0x55);
SendTemp.SetAt(2,0x00);
SendTemp.SetAt(3,0x00);
SendTemp.SetAt(4,0x00);
SendTemp.SetAt(5,0x00);
SendTemp.SetAt(6,0x00);
SendTemp.SetAt(7,0x00);
SendTemp.SetAt(8,0x00);
SendTemp.SetAt(9,0x00);
SendTemp.SetAt(10,0x00);
SendTemp.SetAt(11,0x00);
SendTemp.SetAt(12,0x00);
SendTemp.SetAt(13,0x00);
SendTemp.SetAt(14,0x00);
SendTemp.SetAt(15,0x00);
SendTemp.SetAt(16,0xFF);
SendTemp.SetAt(17,0x03);
SendTemp.SetAt(18,0xFD);
SendTemp.SetAt(19,0xD4);
SendTemp.SetAt(20,0x14);
SendTemp.SetAt(21,0x01);
SendTemp.SetAt(22,0x17);
SendTemp.SetAt(23,0x00);
m_ctrlComm.SetOutput(COleVariant(SendTemp));
}

然后怎么写才能接收串口返回的数据?本人小白,谢谢各位大神了

解决方案

C++如果数据的个数确定,建议使用数组,比较方便。
要接收数据,一般要使用线程。将接收到的数据放到接收缓冲中,再通知 UI 来读取刷新。使用 MSCOMM 控件,接收的处理可能简单一些,但你也需要调用接收的方法。

解决方案二:

http://wenku.baidu.com/link?url=qQluofTBgnSmRYNjBbVbD_UKzbX3bkhU5NIvy-j1rn2IEUpe5MvlSPAOBZoUdiKEzoMrMUNTJWaOoo1pijacLYZPx06HAAPOXcw_wWM9QNu

时间: 2024-09-13 09:41:09

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

串口通信-WindowsServer2008运行Delphi6串口通讯程序问题

问题描述 WindowsServer2008运行Delphi6串口通讯程序问题 最近因迁移一套老系统,是N年前用Delphi6开发的串口通讯程序,该程序在 WindowsServer2000服务器上能正常运行.现在要把这套程序拷贝到一台新 的WindowsServer2008服务器上运行时,发现访问不要前端串口设备,经 检查发现问题的情况大概是这样的:程序中建立串口通讯的参数中波特率是2400, 这个参数用于新服务器上,就不能建立与前端串口设备的通讯,除非改为9600就 可以了(采集程序和前端设

串口通信内存泄露-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串口通信-大神! 串口通信多编辑框显示到一个编辑框!求教代码!谢谢!

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

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

问题描述 有关线程收发串口数据的问题 最近写一个项目里面用到的是基于串口通信的. 由于我需要一直处于接收数据状态,并且可以随时发送数据(我的串口是RS232,支持全双工),于是想到了用两个线程去做. 一个处于收状态,一个发包用. 现在的问题是:我只有一个SerialPort对象 ,通过跨类的信号和槽得到这个对象,但是一放在线程的run函数读写就会报错. 我曾想过把串口的设置和连接放在线程类里面做,但是我这边两个线程呢,一个链接的话,端口就会被占用,另外一个线程就没法连接 困了一天了 不知道该怎么

串口通信-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# SerialPort 串口通信多线程问题

问题描述 C# SerialPort 串口通信多线程问题 编程新手,想C# SerialPort实现串口通信,写的程序大概这样一个结构.发送一个数据后,要求收到下位机回复,超时发送下一个数据.要加一个发送和接收的线程,是加在主程序里面吗?大体的结构应该是怎么样的?求大神帮助!O(∩_∩)O谢谢! class SendAndReceive { SerialPort sp = new SerialPort(); public void SearchSet()//检测有哪些端口 public void

串口通信-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

串口通信-一个关于RFID串口接收IC卡号并让单片机识别不同卡号并作出不同判断的问题

问题描述 一个关于RFID串口接收IC卡号并让单片机识别不同卡号并作出不同判断的问题 单片机连接一个RFID读卡器串口,用来刷不同的IC卡,用电脑串口助手测试可以返回两张卡号: 白卡卡号:20 00 00 08 04 00 00 00 24 AA 54 1A 33 03 塑料卡号:20 00 00 08 04 00 00 00 54 BF D5 E5 28 03 先想让单片机接收24 AA 54 1A 33,54 BF D5 E5 28这两段进行识别,识别到前者亮灯,识别到后者灭灯,但是现在这个