社区
ATL
帖子详情
关于COM口通讯的问题
sodawater
2000-06-16 07:45:00
这个问题比较简单,是这样的,我怎么样才能判断我上次发的数据发完没
我编的程序段是这样的
WHILE(TRUE)
COMFILE.WRITE((HANDLE)COMFILE.m_hFile,&lpbuf);
这是一个循环发送,但在示波器上测出的数据不对
肯定是没有判断数据发完没有的原故与上次的数据重叠所至
不用直接对端口进行操作,用什么函数,怎样得到数据发完没有。
我发的数据是0x55,长度为1
...全文
286
12
打赏
收藏
关于COM口通讯的问题
这个问题比较简单,是这样的,我怎么样才能判断我上次发的数据发完没 我编的程序段是这样的 WHILE(TRUE) COMFILE.WRITE((HANDLE)COMFILE.m_hFile,&lpbuf); 这是一个循环发送,但在示波器上测出的数据不对 肯定是没有判断数据发完没有的原故与上次的数据重叠所至 不用直接对端口进行操作,用什么函数,怎样得到数据发完没有。 我发的数据是0x55,长度为1
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sodawater
2000-06-24
打赏
举报
回复
现在这个问题已经解决了,谢谢各位
sodawater
2000-06-18
打赏
举报
回复
我是直接用CFile类打开的串口,不能用WriteFile,只能用Write怎么办?不知道有没有影响,等待函数?
sodawater
2000-06-18
打赏
举报
回复
我去试一下,我的串口通讯的问题是这样的,在低波特率下,输出正常
在高波特率下,28。8K下输出不正常,似乎夹杂着什么东西在里面,如发AA
AA可以被看到,但还有其它的东西混在一起发了在AA之间,不知道是不是没有做以下的
工作的原因
windoze
2000-06-18
打赏
举报
回复
上面的例子写错了:),应该是
DCB dcb;
memset(&dcb, 0, sizeof(DCB));
CString str="baud=28800 parity=N data=8 stop=1";
BuildCommDCB(str, &dcb);
SetCommState(SomeFile.m_hFile, &dcb);
windoze
2000-06-18
打赏
举报
回复
还有一点,串口实际的通信速率最大为9600bps,如果高于这个值,就会进行压缩,这时你需要用SetCommState设置串口的属性,比如:
DCB dcb;
memset(&dcb, 0, sizeof(DCB));
CString str="baud=28800 parity=N data=8 stop=1";
SetCommState(SomeFile.m_hFile, &dcb);
这样将串口的通信速率设为28800bps,无校验位,8位数据位,一位停止位。
windoze
2000-06-18
打赏
举报
回复
CFile类中有一个m_hFile成员变量,使用WriteFile(SomeFile.m_hFile, ...)就行了。
sodawater
2000-06-17
打赏
举报
回复
应该等待什么事件呢?
自定义的事件?怎样才能表达是写完了呢
请给一个实例好吗?后一种就是用异步文件读写的方式那种,
sjxf
2000-06-17
打赏
举报
回复
使用ReadFileEx
windoze
2000-06-17
打赏
举报
回复
异步文件读写的例子:
//创建事件对象
HANDLE hEvent=CreateEvent(NULL, FALSE, FALSE, NULL);
// ...
HANDLE hFile=CreateFile("COM1",...); //这我就不多写了
OVERLAPPED ol;
ol.hEvent=hEvent;
WriteFile(hFile, lpBuffer, dwBufferLen, &dwWrittenBytes, &ol);
// 写文件的操作立即返回,但是并没有完成
// ...
// 等待写操作完成
DWORD dwRet=WaitForSingleObject(hEvent, INFINITE);
// 当写操作完成后,前面的hEvent会被置位,Wait函数会阻塞直到hEvent置位为止。
// INFINITE表示无限等待,可以换成一个毫秒数,表示等待指定时间,若超时,dwRet的值为WAIT_TIMEOUT,正常情况下返回WAIT_OBJECT_0
windoze
2000-06-16
打赏
举报
回复
Flush是CFile的一个成员函数,其作用就是将缓冲区内的所有数据写入文件,对于串口来说就是写入串口。
这个函数会阻塞到数据全部写完或者出错为止,这样你就不用查询数据是否发送完了。对应的Windows API函数是FlushFileBuffers。
另外,你还可以采用异步文件读写的方式,也就是说当你写串口的时候,WriteFile函数会立即返回,到写入完成时,系统会使用一个你事先指定的Event对象通知你的程序,你的程序可是使用WaitForSingleObject等函数等待直到通知为止。
详情参见MSDN中关于CreateFile、ReadFile、ReadFileEx、WriteFile和WriteFileEx的说明。
sodawater
2000-06-16
打赏
举报
回复
什么是FLUSH,原理是什么?
我想用查询数据是否发完,然后继续发的这种方式,你先说说
什么是FLUSH吧
windoze
2000-06-16
打赏
举报
回复
使用Flush强制处理缓冲区中的数据。
VB串
口
通信源码210个
001、VB串
口
通讯
视频教程源码41个 002、Visual Basic串
口
通信工程开发实例导航随书源码7个 003、Visual Basic串
口
通信与测控应用技术实战详解 源代码(15个全) 004、GE PLC串
口
通讯
,VB编制,读取内存单元 005、PC机与51单片机之间的串
口
通讯
,VB编的,分PC和单片机两部分 006、VB6的串
口
通信程序,还有crc校验 007、VB Modbus RTU源码,其中协议部分已生成DLL,可直接调用 008、VB.net开发的串
口
调试程序 009、VB.net实现串
口
编程,希望大家有用 010、VB版串
口
调试程序,包含VB源码及安装文件,适合调试串
口
011、VB编程RS232串
口
控制DA数模转换 012、VB编程实现的串
口
调试工具源码 013、VB编写的RS232串
口
通信测试程序,以txt格式接受,可定义发送字符 014、VB编写的SouthStar串
口
测试与51串
口
烧写器V1.0版 015、VB编写的串
口
调试助手1.0的源码 016、VB编写的串
口
短信发送程序,需要数据线支持 017、VB编写的串
口
通信程序,实现多机通信 018、VB编写的串
口
通信程序,主要用于上位机与下位机间的通信 019、VB编写的串
口
通信程序界面参考网上的程序较简单 020、VB编写的串
口
通讯
界面,主要面向51单片机的串
口
通信 021、VB编写的单片机和PC串
口
通信的调试程序 022、VB编写的仿真实电子琴操作界面,包含与FPGA串
口
通信的功能 023、VB串
口
API
通讯
,附带BAS文件全部源码,实现与饭卡读卡器
通讯
024、VB串
口
编程,关于上位机的应用,特别适合初级学习VB的学员 025、VB串
口
编程调试精灵源码 026、VB串
口
编程实现完整的多费率电表读数软件 027、VB串
口
程序,,是一个串
口
使用例程,对初学者有用,特别是工控类的 028、VB串
口
传输文本,实现2台PC间的通信,类似简单的聊天工具 029、VB串
口
的一个电子称的项目 030、VB串
口
调试程序,用于通过串
口
控制松下空调测试 031、VB串
口
调试程序及源码 032、VB串
口
调试软件源代码,可以参考修改为其它
通讯
程序 033、VB串
口
调试软件源文件 034、VB串
口
控制步进电机程序完整源码 035、VB串
口
通信 6路10位AD转换数据采集源程序 036、VB串
口
通信,API串
口
通信模块源码 037、VB串
口
通信,适用简单,适合初学者 038、VB串
口
通信操作界面,进行数据采集,画实时曲线 039、VB串
口
通信程序,可以读取串
口
并显示保存数据,且能显示数据曲线 040、VB串
口
通信的源码,学习的好资料 041、VB串
口
通信调试器的源码程序 042、VB串
口
通信设计视频演示源码 043、VB串
口
通信示例 044、VB串
口
通信数据源码 045、VB串
口
通信之串
口
接收程序 046、VB串
口
通讯
测试源代码,有文本和图形两种端
口
数据观察方式 047、VB串
口
通讯
程序,用来跟单片机
通讯
048、VB串
口
通讯
代码(部分) 049、VB串
口
通讯
的参考源程序 050、VB串
口
通讯
实例 高精度电压表(24bit) VB源程序 051、vb串
口
通讯
示例 052、VB串
口
与伺服电机DSP2407
通讯
完整代码源程序 053、VB串
口
源码,动力电池检测数据采集,内含电导巡检模块
通讯
报文,可,读写,保存,备份数据 054、VB串
口
字节通信程序,包括:1字节发送子程序,n字节接收子程序 055、VB串行
口
通信测试示例 056、VB串行通信试验程序 057、VB的MODEM通信源代码,智能化水电远端数据读取系统 058、VB的串
口
源程序,包括串
口
的配置界面,接收功能和发送功能 059、VB访问串
口
,并读取电子秤上显示的数据 060、VB和西门子S7-300 PLC串
口
通讯
程序能实现读写功能 061、VB检测串
口
工作状态 062、VB简单的串
口
短信收发功能,使用短信猫测试通过 063、VB开发串
口
通信,关于生物医学工程专业的血氧饱和度的设计 064、VB开发串
口
通信软件,利用按钮控件控制高清晰数字展示台 065、VB开发的RS232串
口
图像处理器驱动(摄像头驱动) 066、VB开发的串
口
通信源码 067、VB开发的串
口
与三菱FX PLC
通讯
源码 068、VB控制串
口
232
通讯
,对飞利浦M1卡内数据进行处理,支持密码修改等 069、VB利用Ms
com
m控件编写的
通讯
终端,可做串
口
通讯
编程参考示例 070、VB平台单片机与PC机串
口
通信的PC端程序。小巧易用,功能丰富 071、VB嵌入式串
口
通讯
波形分析显示软件 072、VB实现串
口
调试LED信息显示屏设备主要代码 073、VB实现串
口
调试工具的完整源码 074、vb实现串
口
通信 文件传送系统,用vb以及ms
com
m控件实现 075、VB实现串
口
通信,发送命令从而接收相应数据 076、VB使用ms
com
控件实现PC机与单片机串
口
通信 077、VB通过
COM
串
口
读取条形码设备 078、VB通过串
口
控制单片机读写24C02源代码 079、VB
通讯
程序,连接串
口
可在电脑显示来电号码 080、VB下的串
口
发短信程序,可选择端
口
,设置短信中心号码 081、VB写的串
口
通信,发送和接收实例 082、VB写的串
口
通信分析程序源码 083、VB写的串
口
通讯
,通过串
口
对单片机进行控制 084、VB写的串
口
通讯
软件,简单易学,适合初学者 085、VB写的通过串
口
与考勤机连接
通讯
的程序 086、vb用控件的写的串
口
程序,是vb的经典之作 087、VB与USB转串
口
的
通讯
完整程序,有详细说明,不需要安装驱动 088、vb与串
口
通信的关于回路测试的小程序很实用 089、vb语言开发的串
口
通信,可实现拨号传送文件等 090、VB中串
口
事件处理函数的示例 091、VB中的串
口
通讯
,串
口
通讯
作为一种古老而又灵活的
通讯
方式,被广泛地应用 092、VB自动枚举系统串
口
加摄象头图象采集,坐标系变换 093、Visual Basic2005与自动化系统监控(串并行控制)光盘
C#串
口
介绍以及简单串
口
通信程序设计和实现
C#串
口
介绍以及简单串
口
通信程序设计实现 源代码和串
口
程序介绍连接:https://www.cnblogs.
com
/JiYF/p/6618696.html 本站积分太贵,自己变得。。直接到连接地址下载代码 周末,没事干,写个简单的串
口
通信工具,也算是本周末曾来过,废话不多,直接到主题 串
口
介绍 串行接
口
简称串
口
,也称串行通信接
口
或串行
通讯
接
口
(通常指
COM
接
口
),是采用串行通信方式的扩展接
口
。(至于再详细,自己百度) 串
口
应用: 工业领域使用较多,比如:数据采集,设备控制等等,好多都是用串
口
通信来实现!你要是细心的话,你会发现,目前家用国网智能电能表就具备RS485通信总线(串行总线的一种)与RS232可以相互转化(当然一般,非专业的谁也不会闲的蛋疼,趴电表上瞎看,最多也就看看走了多少度电) RS232 DB9介绍: 1.示意图 2.针脚介绍: 载波检测(DCD) 接受数据(RXD) 发出数据(TXD) 数据终端准备好(DTR) 信号地线(SG) 数据准备好(DSR) 请求发送(RTS) 清除发送(CTS) 振铃指示(RI) 3.实物图: 以下是我购买XX公司的一个usb转串
口
线:这个头就是一个公头,另一端是一个usb
口
笨小孩串
口
工具运行图: 1.开启程序 2.发送一行字符串HelloBenXH,直接将针脚的发送和接收链接起来就可以测试了(针脚2 接受数据(RXD) 和3 发出数据(TXD))直接链接, C#代码实现:采用SerialPort 1.实例化一个SerialPort [csharp] view plain copy 在CODE上查看代码片派生到我的代码片 private SerialPort
Com
Device = new SerialPort(); 2.初始化参数绑定接收数据事件 [csharp] view plain copy 在CODE上查看代码片派生到我的代码片 public void init() { btnSend.Enabled = false; cbb
Com
List.Items.AddRange(SerialPort.GetPortNames()); if (cbb
Com
List.Items.Count > 0) { cbb
Com
List.SelectedIndex = 0; } cbbBaudRate.SelectedIndex = 5; cbbDataBits.SelectedIndex = 0; cbbParity.SelectedIndex = 0; cbbStopBits.SelectedIndex = 0; pictureBox1.BackgroundImage = Properties.Resources.red;
Com
Device.DataReceived += new SerialDataReceivedEventHandler(
Com
_DataReceived);//绑定事件 }
串
口
通讯
协议
文章转载自http://www.cnblogs.
com
/firege/p/5805753.html20.1 串
口
通讯
协议简介串
口
通讯
(Serial
Com
munication)是一种设备间非常常用的串行
通讯
方式,因为它简单便捷,大部分电子设备都支持该
通讯
方式,电子工程师在调试设备时也经常使用该
通讯
方式输出调试信息。在计算机科学里,大部分复杂的
问题
都可以通过分层来简化。如芯片被分为内核层和片上外设;...
plc和pc串
口
通讯
接线_让你搞懂PLC串
口
通讯
和
通讯
接
口
,这东西估计没几个能说清楚~...
电力作业人员在使用PLC的时候会接触到很多的
通讯
协议以及
通讯
接
口
,最基本的PLC串
口
通讯
和基本的
通讯
接
口
你都了解吗?1,什么是串
口
通讯
?串
口
是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串
口
。串
口
同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS- 232
口
。同时,串
口
通信协议...
com
bus
通讯
_
COM
口
,串行
通讯
端
口
,RS-232接
口
基础知识
COM
口
即串行
通讯
端
口
。
COM
口
的接
口
标准规范和总线标准规范是RS-232,有时候也叫做RS-232
口
。电脑上的
com
口
多为9针,最大速率115200bps。通常用于连接鼠标(串
口
)及
通讯
设备(如连接外置式MODEM进行数据
通讯
)等。但目前主流的主板一般都只带1个串
口
,甚至不带,慢慢会被USB 取代。以前用于连接老式的
COM
口
鼠标键盘,还有链接路由器,外置调制解调器等。现在很少使用。什么是串
口
...
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章