VC 控制台程序串口通讯,串口收到数据如何发送消息给主线程?

问题描述

VC 控制台程序串口通讯,串口收到数据如何发送消息给主线程?
用CSerialPort类实现串口通讯,该类在收到数据后会调用::sendmessage函数,该函数的第一个参数是窗口句柄,但是控制台没有窗口句柄,该怎么发送消息?main函数里怎么
响应消息?

解决方案

sendmessage wm_copydata

解决方案二:
控制台程序可以调用
http://blog.csdn.net/coredoor/article/details/8582001

时间: 2024-09-19 08:51:10

VC 控制台程序串口通讯,串口收到数据如何发送消息给主线程?的相关文章

串口serialport-C#串口SerialPort总是收到数据

问题描述 C#串口SerialPort总是收到数据 有时候我只发了一次或者几次后我的串口能一直收到相同的数据,几率还挺大的,读取serialPort.BytesToRead是一直有的,而且是在serialPort.Read完serialPort.BytesToRead清零了之后还是一直能读到的,实际没有发数据的,如果这时候我手动发数据的话这种现象就会停止,但是用串口调试助手也没出现这种情况,请问是为什么怎么解决?谢谢! 解决方案 看看你的通讯方式设置对不对,停止位.校验位.波特率等等.你的dat

VC控制台程序的文字颜色

// 控制台程序的基本文本颜色 // #define FOREGROUND_BLUE      0x0001 // text color  contains blue. // #define FOREGROUND_GREEN 0x0002 // text color contains green. // #define FOREGROUND_RED       0x0004 // text color  contains red. // #define FOREGROUND_INTENSITY

关于用VB.NET编写串口通讯程序的问题

问题描述 各位前辈:我是一个刚接触VB.NET8.0的菜鸟,现在做一个串口通讯程序,测试MODBUS协议的程序,遇到一些问题,还望各位前辈不吝赐教:串口接收数据时,如果回复的报文稍长,就要接收两次以上才能接收完:发送报文:010300000016C404接收报文:01032C00550055003F0063005C001E004900630020003A001300640001032C00550055003F0063005C001E004900630020003A001300640047000B

串口通讯-Linux下多线程串口通信问题

问题描述 Linux下多线程串口通信问题 我做的一个项目,把串口读写采用了一个独立的线程,进行数据的读写,在调试时,发现只要启动另外一个计算量比较大的线程,串口通信就出错了,而只要不启动这个线程,可以启动其他线程,串口工作没有任何问题,求原因? 解决方案 在C#中使用SerialPort类实现串口通信,多线程问题在C#中使用SerialPort类实现串口通信 遇到多线程问题在C#中使用SerialPort类实现串口通信 遇到多线程问题 解决方案二: 这两个线程有耦合吧?认真分析一下之间的联系.可

串口通讯-vc串口通信的程序求解

问题描述 vc串口通信的程序求解 vc初学者要写一个串口通信的程序,串口如何通信的不是很了解啊! 解决方案 VC串口通信 解决方案二: VC中采用MSCOMM控件,首先对串口进行初始化,然后在OnOnCommMscomm函数中处理接收的数据. 解决方案三: http://blog.csdn.net/jax_lee/article/details/6764408图文并茂http://blog.csdn.net/a_runing_man/article/details/9947343代码http:/

用单片机写一个接受串口发过来的程序,由于串口可能发的不止一个数据,

问题描述 用单片机写一个接受串口发过来的程序,由于串口可能发的不止一个数据, 肯定要把所有数据都接受,然后显示出来,怎么写才能把所有数据都接受呢 解决方案 http://blog.163.com/zhangmwen@126/blog/static/1134375022014423103449480/ 解决方案二: 考虑单片机显示就收的数据,那你就要考虑通讯报文的问题,因为单片机接受的时候是一个字节一个字节的收,它没有一串数据的概念.如果是上位机,那你配置好串口的波特率,字节之间的最大延时时间,,

串口通讯中,为何读出数据读出时候,老是读取其中的一部分,不能一次完全读出,而是残留到下次才能读出。

问题描述 发出的数据格式是以ASCII为2的STX为开头,以2个空格结束的字符串.格式如下STX"ABCDEFGH"字符串空格空格但是接受数据的时候,总是收不到后面的空格.年月日时分秒毫秒16进制数字的显示ASCII格式的显示2008/06/0513:39:42125-41-42-43-44-45-46-47-48ABCDEFGH<--第一次没有收到2个空格(20H20H)2008/06/0513:39:46828-20-20-41-42-43-44-45-46-47-48ABC

使用Win32创建串口通讯程序

介绍: 本文的目的是介绍如何在Win32中处理串口.串口通讯可以通过多种技术实现,例如:ActiveX,I/O存取和文件操作.本文介绍Win32平台下通过文件操作技术使用串口.程序员可以使用 Microsoft Visual C++ Version 6.0所提供的kernel32.lib.在Microsoft Windows(2000,Me,XP and 95/98)中,串口作为文件处理.因此可以通过Windows文件创建函数打开串口. 文章不仅介绍了串口通讯,也介绍了在串口通讯应用程序中实现多

发送数据-Vc Cncomm类制作的串口软件第一次通信总是无法下发数据问题

问题描述 Vc Cncomm类制作的串口软件第一次通信总是无法下发数据问题 vc调用Cncomm类制作的串口软件,首次打开正确的串口后,无法传输数据,用其他串口软件打开串口却可以正常发送数据,而后再用Cncomm类制作的串口软件也可以 传输数据了?原因未知 在线等待 解决方案 1.用CnComm写的程序发送不正常,但用其他程序打开端口后,再用CnComm写的程序就好了? 分析: 具体原因是配置参数失败.并且该网友没有检查Open()或者SetState()的返回值, 所以没有发现配置参数失败造成