菜鸟求救命!!用CSerialPort类,数据接收问题 modbus规约 OnCommunication(WPARAM ch, LPARAM port) [问题点数:100分,结帖人asdjy123]

一键查看最优答案

确认一键查看最优答案?
本功能为VIP专享,开通VIP获取答案速率将提升10倍哦!
Bbs2
本版专家分:474
结帖率 100%
Bbs10
本版专家分:176291
Blank
红花 2018年7月 VC/MFC大版内专家分月排行榜第一
2017年10月 VC/MFC大版内专家分月排行榜第一
2016年3月 VC/MFC大版内专家分月排行榜第一
2014年10月 VC/MFC大版内专家分月排行榜第一
2014年9月 VC/MFC大版内专家分月排行榜第一
2014年7月 VC/MFC大版内专家分月排行榜第一
2014年6月 VC/MFC大版内专家分月排行榜第一
2014年5月 VC/MFC大版内专家分月排行榜第一
2014年4月 VC/MFC大版内专家分月排行榜第一
2014年2月 VC/MFC大版内专家分月排行榜第一
2013年7月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2020年3月 VC/MFC大版内专家分月排行榜第二
2019年12月 VC/MFC大版内专家分月排行榜第二
2019年11月 VC/MFC大版内专家分月排行榜第二
2019年11月 VC/MFC大版内专家分月排行榜第二
2019年9月 VC/MFC大版内专家分月排行榜第二
2019年8月 VC/MFC大版内专家分月排行榜第二
2019年7月 VC/MFC大版内专家分月排行榜第二
2019年6月 VC/MFC大版内专家分月排行榜第二
2019年5月 VC/MFC大版内专家分月排行榜第二
2019年4月 VC/MFC大版内专家分月排行榜第二
2019年3月 VC/MFC大版内专家分月排行榜第二
2018年10月 VC/MFC大版内专家分月排行榜第二
2018年9月 VC/MFC大版内专家分月排行榜第二
2018年8月 VC/MFC大版内专家分月排行榜第二
2018年5月 VC/MFC大版内专家分月排行榜第二
2017年12月 VC/MFC大版内专家分月排行榜第二
2017年6月 VC/MFC大版内专家分月排行榜第二
2017年5月 VC/MFC大版内专家分月排行榜第二
2017年1月 VC/MFC大版内专家分月排行榜第二
2016年11月 VC/MFC大版内专家分月排行榜第二
2016年4月 VC/MFC大版内专家分月排行榜第二
2014年11月 VC/MFC大版内专家分月排行榜第二
2014年1月 VC/MFC大版内专家分月排行榜第二
2013年10月 VC/MFC大版内专家分月排行榜第二
2013年9月 VC/MFC大版内专家分月排行榜第二
2013年6月 VC/MFC大版内专家分月排行榜第二
2013年4月 VC/MFC大版内专家分月排行榜第二
2012年6月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2018年11月 VC/MFC大版内专家分月排行榜第三
2018年6月 VC/MFC大版内专家分月排行榜第三
2018年4月 VC/MFC大版内专家分月排行榜第三
2018年3月 VC/MFC大版内专家分月排行榜第三
2018年2月 VC/MFC大版内专家分月排行榜第三
2018年1月 VC/MFC大版内专家分月排行榜第三
2017年11月 VC/MFC大版内专家分月排行榜第三
2017年9月 VC/MFC大版内专家分月排行榜第三
2017年8月 VC/MFC大版内专家分月排行榜第三
2017年4月 VC/MFC大版内专家分月排行榜第三
2016年12月 VC/MFC大版内专家分月排行榜第三
2016年10月 VC/MFC大版内专家分月排行榜第三
2016年2月 VC/MFC大版内专家分月排行榜第三
2015年10月 VC/MFC大版内专家分月排行榜第三
2015年7月 VC/MFC大版内专家分月排行榜第三
2012年10月 VC/MFC大版内专家分月排行榜第三
Bbs6
本版专家分:5592
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Bbs2
本版专家分:474
Bbs2
本版专家分:474
Bbs2
本版专家分:474
Bbs6
本版专家分:5592
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Bbs2
本版专家分:474
Bbs6
本版专家分:5592
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Bbs1
本版专家分:24
Bbs6
本版专家分:5592
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Bbs6
本版专家分:5592
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Bbs2
本版专家分:474
Bbs2
本版专家分:474
Bbs6
本版专家分:5592
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Bbs2
本版专家分:474
Bbs6
本版专家分:5592
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Bbs2
本版专家分:474
Bbs6
本版专家分:5592
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Bbs2
本版专家分:474
Bbs2
本版专家分:474
Bbs6
本版专家分:5592
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Bbs2
本版专家分:474
Bbs6
本版专家分:5592
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Bbs2
本版专家分:474
Bbs6
本版专家分:5592
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Bbs2
本版专家分:474
Bbs2
本版专家分:474
串口通信,数据处理,unicode转换,大侠来急救,搞了2天了,没想明白
在下现在做串口通信,使用<em>modbus</em>协议 <em>问题</em>就是 vb的unicode带来的 byte的数组 中2个byte为<em>数据</em>位置,其实里面是4个byte的空间 data(0)=0 data(1)=1 实际表示
485串口MODBUS解析
例如01 03 02 00 00 B8 44 01是站地址 03是操作码 02是地址 00 00是<em>数据</em> B8 44是CRC校验 这其中操作码分为03 04 06 16与02 05 15 02 03 04是读,主站问从站同样会回答同样的操作码 05 06是写 15 16是批量写 ...
MFC使用串口通信收发数据问题
我使用VS2010的MSCOM控件编写串口程序,程序需要向下位机发送一些<em>数据</em>,而下位机收到<em>数据</em>是会作出应答。 我用的是 : m_com1.put_Output(COleVariant(_T("12"))); //m_com1为MSCOM控制变量 但发现后面下位机<em>接收</em>的是1和2的ASCII码对应的字符; 想问问各位大神有没有可以直接给下位机12数字而不是ASCII码的
MFC中自定义的消息不能响应
我是按照步骤添加的自定义消息呀,但是为什么成功添加消息后,不能成功<em>接收</em>消息? 1.在stdafx.h中添加: #define WM_ADD_NEW_MSG (WM_USER + 100) 2.CDow
解决CSerialPort串口通讯单字符接收问题
http://<em>ch</em>ao<em>ch</em>aoblog.com/ar<em>ch</em>ives/3500 在我写SerialServer即串口转网口程序的时候,串口通讯的<em>类</em>是从网上Download的一个CSerailPort<em>类</em>,这是个老外在1997年写的一个<em>类</em>,当然在2012年有人修改过了,处理过一些bug。但是比较困扰我的是,它<em>接收</em>到<em>数据</em>是一个<em>ch</em>ar(一个字节)读取的,这导致我写的日志里面都是这个样子的: a b c d ...
上位机串口程序以十六进制接收数据
刚接触MFC,做了个串口通信的程序。由于是与单片机通信,需要以十六进制发送<em>数据</em>,为了验证在<em>接收</em>函数中把<em>接收</em>到的<em>数据</em>转换为十六进制显示。<em>接收</em>buf 1 之前定义为<em>ch</em>ar型,比如发送1ABa,<em>接收</em>应该显示0x1a    0xba,但是实际<em>接收</em>显示的是0x1a   0xffffffba。后来把buf1改成BYTE<em>类</em>型,<em>接收</em>显示就正确了。不清楚为啥,猜想是不是<em>ch</em>ar是有符号,把前面的都置1了。如果有大
CSerialPort串口最新修正版2017-03-12
如需转载请标明出处:http://blog.csdn.net/itas109  QQ技术交流群:129518033   最新进展: <em>CSerialPort</em>串口<em>类</em>最新修正版2017-12-16 http://blog.csdn.net/itas109/article/details/78823082   这是一份优秀的串口<em>类</em>文件,好多的地方值得我们学习,具体在多线程,事件,自定义消息,...
有人使用过CSerialPort这个串口通信吗?交流一下。
这个<em>类</em>是我从CodeProject上下载的,但是我在使用中碰到一点<em>问题</em>,请教大家一下。 由于我使用的硬件要<em>求</em>在发送<em>数据</em>前需要先将RTS设置为0,发送完毕后将RTS设置为1 因此我如下使用: m_Ser
CSerialPort 通信问题
我用CSrialPort<em>类</em>写了一个简单的上位机控制软件,设备通过主板串口连接电脑没有任何<em>问题</em>,通过USB转RS232串口线连接电脑 就不能控制,USB转RS232串口驱动正常,USB转RS232线收发正常。用USB串口转接线时,用示波器测试上位机的<em>数据</em>发布出去。
使用CSerialPort进行串口数据发送和接收问题
请教各位大神,目前本人用<em>CSerialPort</em><em>类</em>写了一个串口程序,需要在某个特定的VIEW窗口用串口发送和<em>接收</em><em>数据</em>,大致流程如下: 在窗口InitialUpdate中使用m_SerialPort.In
CSerialPort不能连续发送数据
<em>问题</em>描述: 工具VS2008 <em>CSerialPort</em><em>类</em> 当使用USB转232线连接两台Win7电脑时,只能发送一条指令, 然后一直等待<em>接收</em>,当<em>接收</em>到字符时,又可以发送一条指令。不使用转接线时可连续发送多条指令,收发 正常,已排除USB转接线及其驱动的<em>问题</em>。
结合CSerialPort,实现完整的串口收发功能
最近的的项目软件,需要增加串口的收发,因需要统一到同一个通讯通讯框架,(之前已有USB,读卡器等)从API上看,我最希望其能简化成如下的简洁形式:   bool UartRcvData(LPCBYTE data,DWORD len)   bool UartSendData(LPCBYTE data,DWORD len)   为了达到次目的,吃苦不少。一开始采用了MSCOMM的控件,该控件将w
CSerialPort接收的字符错误
串口通讯一直用的流行的<em>CSerialPort</em><em>类</em>,但是最近发现一个<em>问题</em>,<em>接收</em>到的字符有时会不对,发过来的是FA,结果收到的是0或者是其他的字符。不知道是什么原因,偶尔会这样。同时使用串口调试助手查看,串
VS2010下MFC CSerialport接收问题
在VS2010的MFC下,用<em>CSerialPort</em><em>类</em>时遇到下位机发送命令后上位机<em>接收</em>不到(下位机发BBBB),但是用串口精灵可以收到,我采用的是龚建伟老师介绍的加消息响应方法<em>接收</em>,是收到一次处理一次,不知道为什么会这样,怎么解决?网上有说是存到缓存从缓存处理,窝子安在这种情况怎么更改呢?希望有系统的解决思路或方法,非常感谢!
VC++6.0 用CserialPort进行串口通讯,在导入CserialPort时,编译出错!OnComm函数是unresolved external
创建了一个对话框程序,我就是在导入<em>CSerialPort</em><em>类</em>后,其他控件什么都没有加,就出现编译<em>问题</em>。 Linking... Se<em>port</em>Dlg.obj : error LNK2001: unresol
CSerialPort 接收时丢失数据
哪位大神对 <em>CSerialPort</em> (作者是Remon Spekreijse)这个<em>类</em>比较熟?最近发现使用USB转RS-232连PC时,使用<em>CSerialPort</em><em>接收</em>时会发生丢<em>数据</em>的情况,丢失率1.3%
如何添加CSerialPort以及相应的消息函数
Step1:     将<em>类</em>文件SerialPort.cpp和SerialPort.h复制到工程所在的文件夹中,然后点击VC<em>菜</em>单上的Project->Add to Project->Files,再在打开的对话框里选择上面的两个文件,单击OK,就把<em>类</em>文件加入了当前工程,在Dlg.h中添加SerialPort.h说明:#include"SerialPort.h",完成这个<em>类</em>的加入。 Step
MFC使用SendMessage发送自定义消息实现进程间通信
1.新建两个对话框项目,分别在StdAfx.h中添加自定义消息: View Row Code 1 #define WM_CONTROLPRINT WM_USER+1001 2.发送端,获得其他窗口句柄的方法FindWindow(); View Row Code 1 void CAaDlg::
基于CSerialPort修改的串口调试助手编写过程中遇到的问题总结
如需转载请标明出处:http://blog.csdn.net/itas109 本文是对 基于<em>CSerialPort</em>修改<em>类</em>的串口调试助手源代码(支持中文、自动保存等)该文的补充, 其中介绍了编写过程中遇到的<em>问题</em> 1、下拉控件 <em>类</em>型设置为下拉列表,在选择的时候就不可以编辑了 2、_T("打开串口") 3、Control ID可以对应2个不同的Type, 4、MFC
通过WPARAM wParam或者LPARAM lParam将数组传递到消息处理函数
今天在用PostMessage消息传递float* 的矩阵<em>数据</em>时,发现<em>接收</em>到的总是无效值,看了论坛相似<em>问题</em>才知道 用SendMessage来传递指针,这样可以确保数组内容不会被修改。 另外用PostMessage()或SendMessage()传递的指针只有在同一个进程中才会有效 通过<em>WPARAM</em> wParam或者<em>LPARAM</em> lParam可将任意的<em>数据</em>结构(以指针)传递到消息处理函
CSerialPort最新串口下载
c++对串口的封装异步通讯方式,调用串口不错的封装<em>类</em>。 相关下载链接://download.csdn.net/download/liaoyong2/10313351?utm_source=bbsseo
Cserialport
这是一个<em>CSerialPort</em><em>类</em>的具体应用例子,适合VC中做串口通信
CSerialPort,如何启动一线程循环调用writetoport()方法
写的程序中用到了<em>CSerialPort</em><em>类</em>来实现串口<em>数据</em>的读写。现打算实现这样一个功能:上位机循环不断的发指令到下位机(上下位机通过无线数传电台连到串口进行通信),下位机收到后返回应答,上位机收到应答
CSerialPort对收到的数据分别处理问题
目前学习使用<em>CSerialPort</em>进行通信。根据发送后收的<em>数据</em>分别处理,比如说我发送1后,收到响应2,根据<em>接收</em>到<em>数据</em>2做处理。当我发送3后,收到响应4,则根据<em>接收</em>到<em>数据</em>4做处理。其中这两次是不同的动作
CSerialPort串口最新修正版(解决关闭死锁问题)2014-01-11
<em>CSerialPort</em>串口<em>类</em>最初由Remon编写,是一份优秀的<em>类</em>文件,好多的地方值得我们学习,具体在多线程,事件,自定义消息,<em>类</em>的封装方面等等。由于已经运行十几年了,原文的问答部分列出来这么多年来的<em>问题</em>,经过网友们的总结,补充和修改原来代码后,整理出一份相对比较完美的代码。 本文还附带一份小项目的源代码,它超越了串口助手,给人一种耳目一新的感觉。你可以直接改造它用到你的项目中!这份工程源代码非常珍贵,剖析它,能学会不少知识,欢迎收藏!
CserialPort问题,急!
我<em>菜</em><em>鸟</em>刚接触VC++,所以<em>问题</em>比较简单,大家别笑我,也别打击我。 我用CserialPort<em>类</em>与OMRON PLC 通讯,通讯协议是“@xxxxxxhh*+回车”,其中hh是前面所有字符的异或,我想实
Mscomm和CSerialPort问题
void SendToCom(USHORT WrAddr,INT WrData) { BYTE send_pkt = {0xEB,0x91,0x00,0x00,0x00,0x00,0x00,0x00
CSerialPort串口的修正版2014-01-10
  如需转载请标明出处:http://blog.csdn.net/itas109  QQ技术交流群:129518033     最新进展: <em>CSerialPort</em>串口<em>类</em>最新修正版2017-12-16 http://blog.csdn.net/itas109/article/details/78823082     这是一份优秀的<em>类</em>文件,好多的地方值得我们学习,具体在多线程,事件...
CSerialPort能否连续发送?发送数据丢失?
我给一个机器发送串口命令,单个命令发送没<em>问题</em>, 连续发送的时候有<em>问题</em>, 比如,连续发了三个,如下: m_ser.WriteToPort(<em>ch</em>Send1); m_ser.WriteToPort(<em>ch</em>Se
MFC中获取消息参数wParam,lParam
    今天帮一个朋友写一个网络小程序,主要功能是把客户端发给服务端的信息在返回给客户,<em>类</em>似linux下的命令e<em>ch</em>o。程序要<em>求</em>能够处理3~5个连接,再加上要输入信息,我想用WSAAsynSelect网络模型再合适不过了。可是动手一写遇到一个<em>问题</em>。     
MFC wParam与lParam 的问题
<em>WPARAM</em>   <em>WPARAM</em>,消息响应机制   wParam和lParam 这两个是Win16系统遗留下来的产物,在Win16API中WndProc有两个参数:   一个是WORD<em>类</em>型的16位整型变量;另一个是LONG<em>类</em>型的32位整型变量。因此根据匈牙利命名法,16位的变量就被命名为wParam, 32位的变量就被命名为lParam。   到了Win32API中,原来的16位变量也被扩展
CSerialPort实现的串口通信关于LONG CMainFrame::OnComm(WPARAM ch,LPARAM port)处理问题
在LONG CMainFrame::OnComm(<em>WPARAM</em> <em>ch</em>,<em>LPARAM</em> <em>port</em>)中我想将单片机发送来的十六进制<em>数据</em>(单片机是按字节发送的),每一字放到一个unsigned <em>ch</em>ar的一个
Cserialport编写的串口助手,如何实现接受两个字节的数据,这是Cserialport中的接受数据处理函数
void <em>CSerialPort</em>::ReceiveChar(<em>CSerialPort</em>* <em>port</em>, COMSTAT comstat) { BOOL bRead = TRUE; BOOL bResult = TRUE; DWORD dwError = 0; DWORD BytesRead = 0; unsigned <em>ch</em>ar RXBuff; for (;;) { // Gain ownership of the comm <em>port</em> critical section. // This process guarantees no other part of this program // is using the <em>port</em> object. EnterCriticalSection(&<em>port</em>->m_csCommunicationSync); // ClearCommError() will update the COMSTAT structure and // clear any other errors. bResult = ClearCommError(<em>port</em>->m_hComm, &dwError, &comstat); LeaveCriticalSection(&<em>port</em>->m_csCommunicationSync); // start forever loop. I use this type of loop because I // do not know at runtime how many loops this will have to // run. My solution is to start a forever loop and to // break out of it when I have processed all of the // data available. Be careful with this approa<em>ch</em> and // be sure your loop will exit. // My reasons for this are not as clear in this sample // as it is in my production code, but I have found this // solutiion to be the most efficient way to do this. if (comstat.cbInQue == 0) { // break out when all bytes have been read break; } EnterCriticalSection(&<em>port</em>->m_csCommunicationSync); if (bRead) { bResult = ReadFile(<em>port</em>->m_hComm, // Handle to COMM <em>port</em> &RXBuff, // RX Buffer Pointer 1, // Read one byte &BytesRead, // Stores number of bytes read &<em>port</em>->m_ov); // pointer to the m_ov structure // deal with the error code if (!bResult) { swit<em>ch</em> (dwError = GetLastError()) { case ERROR_IO_PENDING: { // asyn<em>ch</em>ronous i/o is still in progress // Proceed on to GetOverlappedResults(); bRead = FALSE; break; } default: { // Another error has occured. Process this error. <em>port</em>->ProcessErrorMessage("ReadFile()"); break; } } } else { // ReadFile() returned complete. It is not necessary to call GetOverlappedResults() bRead = TRUE; } } // close if (bRead) if (!bRead) { bRead = TRUE; bResult = GetOverlappedResult(<em>port</em>->m_hComm, // Handle to COMM <em>port</em> &<em>port</em>->m_ov, // Overlapped structure &BytesRead, // Stores number of bytes read TRUE); // Wait flag // deal with the error code if (!bResult) { <em>port</em>->ProcessErrorMessage("GetOverlappedResults() in ReadFile()"); } } // close if (!bRead) LeaveCriticalSection(&<em>port</em>->m_csCommunicationSync); // notify parent that a byte was received ::SendMessage((<em>port</em>->m_pOwner)->m_hWnd, WM_COMM_RXCHAR, (<em>WPARAM</em>) RXBuff, (<em>LPARAM</em>) <em>port</em>->m_nPortNr); } // end forever loop }
一个简单的问题(关于线程 online)
我看了一个串口的程序有个地方不明白.在该程序里只有三个地方又该函数 ON_MESSAGE(WM_COMM_RXCHAR, <em>OnCommunication</em>) LONG CSCPortTestView::
关于用CSerialPort实现串口通信的问题
在连续两次调用<em>类</em>中的WriteToPort函数写串口时 第一次调用完WriteToPort之后,外设返回<em>数据</em>, 第二次调用之前需要根据返回的<em>数据</em>来确定WriteToPort函数发送什么<em>数据</em>。 我是这样
如何让CSerialPort这个串口支持com1-com4以外的串口(如com5)
按龚建伟的方法编串口通讯,可是只支持com1-com4,我是新手,不怎么会改。看他的介绍,应该是需要修改<em>CSerialPort</em>里的InitPort函数。谁知道怎么改啊?谢谢。(我自己只找到一处应该修改
CSerialPort V1.34
A set of C++ classes for Win32 serial <em>port</em>s。 Copyright (c) 1996 - 2018 by PJ Naughter (Web: www.naug
Remon Spekreijse编的串口Cserialport的多串口使用问题
想不只使用4个串口,于是 直接在他的初始化函数当中更改如下 assert(<em>port</em>nr > 0 && <em>port</em>nr < 5); -》 assert(<em>port</em>nr > 0 && <em>port</em>nr < 9);
CSerialPort多线程串口编程工具详解
1.前言 既然有了MSComm这种简单粗暴的控件,为什么还需要<em>CSerialPort</em><em>类</em>?这是因为与前者相比,这个<em>类</em>在程序的发布上不需要加入其他的文件,而且<em>CSerialPort</em>提供给我们的函数都是开放透明的,允许我们进行二次改造。 <em>CSerialPort</em><em>类</em>是一个非常好用的多线程串口编程工具,可以在很短的时间就可以完成一个串口通讯框架的搭建,所以有必要加以记载! 2.CSerial
串口通信中关于CSerialPort中的RecvData()如何使用?
1、串口通信中<em>CSerialPort</em><em>类</em>中的BOOL <em>CSerialPort</em>::RecvData(LPTSTR lpszData, const int nSize)如何使用??最好有相关例子可以参考参考
CSerialPort串口初始化Initport()总是失败
代码如下 serial<em>port</em>.InitPort(this,1,9600,0,8,1,EV_RXFLAG | EV_RXCHAR,512) 不知为什么总是失败,是不是有什么服务没有打开,请高手帮助!
用serialPort串口通讯,需要清理缓冲区吗?
RT,写入之后,读取之前需要清理缓冲区吗? 我觉得不需要吧,而且没听说过! 各位大侠,有知道的没?指点指点吧,谢谢!!!
VC串口小程序(用SerialPort
先建立一个基于对话框的小程序,做好界面有串口号,打开串口按钮,关闭串口按钮,发送按钮,<em>接收</em><em>数据</em>区和发送<em>数据</em>区。然后给串口号即组合框添加变量 CComboBox m_ctrlComPort;给<em>接收</em><em>数据</em>编辑框添加关联变量 CString m_strRxMsg;给发送<em>数据</em>编辑框添加关联变量 CString m_strTxMsg;然后将SerialPort<em>类</em>的头文件和C++文件复制到工程中区,然后将它们添加到工程中去,将SerialPort的头文件包含到对话框中文件中去。在对话框头文件中定义一个布尔变量,用来表示标
使用CSerailPort在读取数据的时候OnCommunication下如何将读取到数据连接起来?
在使用的时候,可以一个一个读取<em>数据</em>(<em>ch</em>),那么如何设置将一个变量将一串(就是一次发送的<em>数据</em>包)读出来,放入变量中处理(每次都不一样,不能读取<em>ch</em>==13为多少的.) 谢谢大家!
S 串口编程 详解1 串口通信工程SCOMM的建立、MFC消息映射机制
串口编程 详解1 最近在一个小应用中要用到串口<em>接收</em>和发送<em>数据</em>。所以就参考一书整了个串口调试助手练练手(结果如下图,不是很美观,有些控件是可以更换成更合理的控件的) 1、建立基于对话框的工程SCOMM(Serial communication)。 2、在对话框中添加控件并设置控件属性 3、添加<em>类</em>文件(这里主要是指<em>CSerialPort</em><em>类</em>,包括:SerialPort.h和SerialP
串口接收限制OnCommunication(WPARAM ch, LPARAM port)
串口通讯使用<em>CSerialPort</em><em>类</em>,用<em>OnCommunication</em>(<em>WPARAM</em> <em>ch</em>, <em>LPARAM</em> <em>port</em>)在<em>接收</em>文件的时候,发现只能<em>接收</em>4K大小4096,为什么?代码如下: LONG CC
ORA-03113: end-of-file on communication channel 解决方法
今天在测试<em>数据</em>库中对一个表插入了大量的<em>数据</em>, 导致<em>数据</em>库卡死 hang 住, 重启<em>数据</em>库后报错如下: C:\Documents and Settings\davidd>sqlplus "/ as sysdba" SQL*Plus: Release 11.2.0.1.0 Production on Fri Dec 5 08:50:23 2014 Copyright (c) 1982
关于ORA-03113:end-of-file on communication channel
  目录 !!<em>问题</em>1:ORA-03113:end-of-file on communication <em>ch</em>annel <em>问题</em>1的解决办法: 最近在玩oracle冷备份的知识,居然把<em>数据</em>库搞崩了很多次~~~mark一下出现的<em>问题</em>和弄了很久才解决的办法。 !!<em>问题</em>1:ORA-03113:end-of-file on communication <em>ch</em>annel    这个是在什么情况下...
CSerialPort的WriteToPort
初次使用 remon Spekreijse的<em>CSerialPort</em> <em>类</em>。 连续几次使用WriteToPort的时候总是只有最后一次的发送出去。。。 不知道什么原因。有用过的请指点一下。谢谢
CSerialPortV3.0.1串口最新修正版2018-02-14
新增功能 * ★修复不能连续发送的<em>问题</em> ★ fix can not continue send error * ★一次性写入尽可能多的<em>数据</em>到串口 ★ try best to send mutil da
最新版的CSerialPort 程序
最新版的 <em>CSerialPort</em> 串口程序可以集成开发。修改了很多bug。非常不错!!
CSerialPort不能连续发送的问题
1.void <em>CSerialPort</em>::WriteChar(<em>CSerialPort</em>* <em>port</em>) { BOOL bWrite = TRUE; BOOL bResult = TRUE; DWORD BytesSent = 0; ResetEvent(<em>port</em>->m_hWriteEvent); // Gain ownership of the critical s
CSerialPort-master
在VS2015中搭建一个串口通信助手,主要实现PC机与外接设备的串口通信
MFC中使用的CSerialPort
MFC中使用串口通信所包含<em>类</em>,实现收发<em>数据</em>,直接包含,打按照函数打开串口,<em>接收</em>,发送就好了。
CSerialPort使用示例
这是<em>CSerialPort</em><em>类</em>使用的简单例子,希望对您有所帮助
CSerialPort 使用问题
编程环境为VC2010/VC2015 MFC(用100 140 140xp编译器均试过),在写串口指令后,有时会被无限个数的读请<em>求</em>锁死CommThread线程,也就是无时无刻的在执行ReceiveChar函数,从而无法响应其他事件而一直在处理读请<em>求</em>。以排除计算机的<em>问题</em>和串口芯片与连接线的<em>问题</em>。跟踪ReceiveChar发现读到的<em>数据</em>长度均为0,是无效的。值得注意的是OVERLAPPED结构体中的internal此时为一个非常奇怪的数值3221225485,在网页或者MSDN上均无法搜到这个值的意义,请高手帮忙分析下。 在此网站上已有人提出过<em>类</em>似的<em>问题</em>,但是并没有人给出一个有效的回答: http://bbs.csdn.net/topics/391070927 调试结果图如下: 另:这个串口<em>类</em>在网上流传的十分广泛,我本人也使用过3,4年了从来没发生过这种现象。![![图片说明](https://img-ask.csdn.net/upload/201511/10/1447118255_130338.png)![图片说明](https://img-ask.csdn.net/upload/201511/10/1447118372_99747.png) 再次强调,如果怀疑这个串口<em>类</em>本身有<em>问题</em>,请先自行看下代码,此<em>类</em>存在至少10年了,并且被广泛使用,我不能100%的说我的硬件没<em>问题</em>,但我觉得99%的可能性<em>问题</em>不在硬件上。<em>类</em>源码地址: 原始:http://codeguru.earthweb.com/network/serial<em>port</em>.shtml 较新:https://github.com/liquanhai/<em>CSerialPort</em>
上位机简单串口,VC串口, MFC串口
我是在一家做硬件的的公司里面做软件开发工程师的,我做的软件大多是是编写软件通过串口去控制硬件,所以串口编程对于我来说是很重要的。串口编程之前一直使用的是自己写的简单串口(只有发送,没有<em>接收</em>)<em>类</em>,或者上网下的<em>CSerialPort</em><em>类</em>(个人觉得不好用啊,互锁变量一堆,代码一开始还让人看不懂,对于上位机使用不合适)。对于我做的上位机软件,其实使用串口只是需要顺序发送,<em>接收</em><em>数据</em>无误就行了,不需要考虑太多东...
串口通信助手(龚建伟版使用cserialport)
为什么另一个串口发送汉字时,比如:发送"你好"情况是这样的:<em>ch</em>=196 str=? ![图片](https://img-ask.csdn.net/upload/201605/10/1462860821_691963.jpg)![图片](https://img-ask.csdn.net/upload/201605/10/1462861037_93158.jpg)![图片](https://img-ask.csdn.net/upload/201605/10/1462861047_654660.jpg)![图片](https://img-ask.csdn.net/upload/201605/10/1462861055_323741.jpg)
CSerialPort,EV_RXFLAG问题
使用<em>CSerialPort</em><em>类</em>,从串口收发<em>数据</em> 我想在一条消息帧<em>接收</em>完毕后,收到一个系统消息,所以我使能了这个<em>类</em>中定义的WM_COMM_RXFLAG_DETECTED这个消息,在这个<em>类</em>中,有这一段代码:
CSerialPort串口最新修正版(解决关闭死锁问题)2011-11-06
本文分享给大家的是<em>CSerialPort</em>串口<em>类</em>最新修正版(2011-11-06),一个串口控件能屹立14年不倒唯有<em>CSerialPort</em><em>类</em>。 Remon提供的串口<em>类</em>原帖网址为:http://codeg
CSerialPort串口初始化Initport()出错
m_SerialPort.InitPort(this,nPort,9600,"N",8,1,EV_RXFLAG|EV_RXCHAR,512)连接时提示: error C2664: 'InitPort'
CSerialPort的应用问题
我想用<em>CSerialPort</em><em>类</em>来实现工业控制,我想把它做成一个基于单文档的程序,但是由于对VC++不是很熟悉,所以在这里请教下大侠们,我到底该怎么去实现呢!我知道怎么添加到单文档,就是不明白我要做的事
关于CSerialPort多线程多串口问题!!!
我想用<em>CSerialPort</em>来创建多个对象,也就是多个串口,结果跟悲催的发现,开不了,assert (<em>port</em>nr>0 && <em>port</em>nr<50); 按理论来说应该是可以的啊,但是实践中就是不行啊,望
mfc中用CSerialport做串口通信接收float型数据
我用Remon Spekreijse写的一个串口<em>类</em>CSerial<em>port</em><em>类</em>(很常用的那种)做串口通信,貌似每次只能<em>接收</em>一个字节,那我怎么<em>接收</em>下面的<em>数据</em>,然后把每个<em>数据</em>对应显示到编辑框中呢?有没有会的大
VC++串口通信问题,关于CSerialport
使用CSerial<em>port</em><em>接收</em><em>数据</em>时都是一个个<em>接收</em>的,那样在高速率大<em>数据</em>下可能就会产生丢<em>数据</em><em>问题</em>,现在想在<em>接收</em>到收到特定格式的<em>数据</em>后在发送WM_COMM_RXCHAR消息,该怎样处理,如我要<em>接收</em>到这样
【关于CSerialPort串口不能连续发送数据,大家有什么好的解决办法???】
如下:连续发送6次或者几次,都只能接受最前面和最后面的,如果没用延时就只能<em>接收</em>到最后面的疏浚。 我用串口监视工具查看的是直发送了最前面和最后面的<em>数据</em>,中间的<em>数据</em>都没用发送。 CString temps
API串口编程CSerialPort为什么发送一个后就锁死在读的事件上了?
这个函数在等三个事件:关线程,IO口状态(读事件 EX_CHAR),发送事件(排名分优先级) 点发送按键就会激活发送事件(Event=2)然后进入到相应的case进行发送,但是发送完成后再次到这个等
关于CSerialPort,多次调用initPort()函数后出现错误
先说下具体情况,打开串口 -- 发送<em>数据</em> -- 关闭串口 -- 打开串口出错,错误代码就是调用initPort函数 错误提示CRT detected that the application wrot
推荐 130 个令你眼前一亮的网站,总有一个用得着
总结了大学生活两年来,发现的 130 余个黑科技网站,总有一个会让你眼前一亮,赶紧收藏!
新华字典词典 2008 Build 11.20 注册机下载
只提供注册信息资料,软件自已到百度搜索下载 相关下载链接:[url=//download.csdn.net/download/ln0429/4304505?utm_source=bbsseo]//download.csdn.net/download/ln0429/4304505?utm_source=bbsseo[/url]
Java期末考察下载
Java期末考察 相关下载链接:[url=//download.csdn.net/download/j8gcd/5657895?utm_source=bbsseo]//download.csdn.net/download/j8gcd/5657895?utm_source=bbsseo[/url]
JSP+access手机销售系统(论文+系统+开题+封面+扉页+需求分析+任务书)下载
JSP+access手机销售系统(论文+系统+开题+封面+扉页+需求分析+任务书) 相关下载链接:[url=//download.csdn.net/download/u010596410/9895854?utm_source=bbsseo]//download.csdn.net/download/u010596410/9895854?utm_source=bbsseo[/url]
我们是很有底线的