社区
API
帖子详情
VB6.0下如何用API实现串口通讯??
ZW_LM
2007-12-11 08:59:14
我能打开串口,但不能实现通信,,不知爪子了,请高人指点。
...全文
1205
23
打赏
收藏
VB6.0下如何用API实现串口通讯??
我能打开串口,但不能实现通信,,不知爪子了,请高人指点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wd201001010
2010-10-06
打赏
举报
回复
学习了 呵呵
ZW_LM
2007-12-24
打赏
举报
回复
关键是我的设备上有干扰源,有可能导致CPU占用率很高。
kuhe
2007-12-23
打赏
举报
回复
用Delphi也好。
偶以前写的工控软件,包括用串口和下位机通信,采集并控制百来个点的温度,用的就是ActiveX exe。当时工控机也就P3级,程序运行时整个系统资源的消耗并不大。如果现在再重做,估计可以把CPU的使用率下降到5%以下。
jwh2004
2007-12-21
打赏
举报
回复
楼主为何非要用api来实现串口呀?mscomm控件内部本身就已经创建了线程了(用windows任务管理器就可看到有和无mscomm控件的exe程序其线程数相差1),就算你用api或activex就能做的比mscomm好?
ZW_LM
2007-12-20
打赏
举报
回复
VB6.0不支持多线程,看来是它的致命缺点啊!
ZW_LM
2007-12-20
打赏
举报
回复
kuhe兄一言中的,我正是做工控的,正是想用辅助线程来实现通信功能,也正是因为VB6.0多线程是控件不稳定的,想用纯API来实现串口通讯。唉。。。。看来只能用Delphi7.0了。。。。代码都得重写,,,太痛苦了!!!
kuhe
2007-12-20
打赏
举报
回复
估计你想写个串口通信程序,后来觉得应该把串口通讯这类干等的事放在辅助线程里。用CreateThread一试,辅助线程里不能用VB自带的函数和控件等资源,然后就想法子用Windows API实现串口通信。
这些弯路偶以前全走过,你重复走走也好,会增加你的挫折经验。当然如果你能好好学学《VB高级编程》,也许能从我当时失败的地方闯出一条新路,偶当时可不知道有这样一本牛书。
如果你编的程序只涉及串口通信,建议你尽快转到VB2005.当然如果还涉及什么数据采集卡之类的工控编程,可能还得用VB6这些非.net开发工具。
ZW_LM
2007-12-20
打赏
举报
回复
就是不想用控件才讨论用API的,,,
tssing
2007-12-20
打赏
举报
回复
用控件吧,,
ZW_LM
2007-12-19
打赏
举报
回复
我试试看,,
kuhe
2007-12-18
打赏
举报
回复
不行的话把你的手机通过站内短消息发给我。
kuhe
2007-12-18
打赏
举报
回复
你在窗体上放个Command,在
里放上这些代码试试吧。
ZW_LM
2007-12-17
打赏
举报
回复
哦?那你有没有线程的代码?能否给我借鉴一下?
ZW_LM
2007-12-17
打赏
举报
回复
kuhe兄,我还是不太明白,能不能说的更明白一点。
是不是我先新建一个ActiveX EXE工程,然后在里面添加上面的代码?
kuhe
2007-12-17
打赏
举报
回复
VB6中,点“工程->引用->浏览”,选文件类型为ActiveX控件(*.OCX)。找到MSCOMM32.OCX,选中后点“打开”。
Dim MyComm As New MSComm
MyComm.CommPort = 1
MyComm.Settings = "9600,N,8,1"
MyComm.PortOpen = True
MyComm.Output = "12345678"
MyComm.PortOpen = False
上述的方法是为了让你可以在ActiveX EXE中使用MSCOMM控件。在一般的程序中直接把MSCOMM控件放到窗体上就OK了。
kuhe
2007-12-16
打赏
举报
回复
上次看你发帖问VB6如何实现多线程,我就想你是不是要写串口或是工控一类的软件。这个帖子果然证实啦偶的猜测。这些事情4年前我全部经历过。我也试过用API进行串口通信或写多线程,但经过近一年的摸索后,我终于明白,在VB中,串口就用MSCOMM,多线程就用ActiveX EXE。
ZW_LM
2007-12-16
打赏
举报
回复
我用的也是这几个API函数,在百度了很多关于他们用法的代码,但就是不能成功,不知道是不是我的函数声明的问题。
awperpvip
2007-12-14
打赏
举报
回复
API用这几个
CreateFile
ReadFile
WriteFile
还可以用用
SetCommTimeouts
GetCommState
SetCommState
SetupComm
PurgeComm
SetCommMask
WaitCommEvent
zhh0086
2007-12-13
打赏
举报
回复
我最近也要写一个232和vb的通信程序,学习中。
ZW_LM
2007-12-13
打赏
举报
回复
救命啊!!!诚心求救
加载更多回复(3)
VB6
使用
API
实现
串口通信
需要和客户的产品通讯,但波特率是非常规的,MScomm无法
实现
,原有的软件框架和条件又不能转用VC开发底层,于是用
VB6
调用
API
实现
了这个通讯功能,虽然在
VB6
下这个程序还是单进程的,但
实现
了异步非阻塞的通信,性能相当稳定,下面是测试程序代码 Private Sub cmdSend_Click()Sub cmdSend_Click() 定义文件读写属性结构 Di
Win10下
VB6
.0开发之串口通信基础(一)控件属性篇
前言:VB串口通信的方法一般有两种:一是通过Windows的通信
API
进行通信;另一种是通过VB的标准控件MSComm来
实现
。这篇文章要讲的是上位机如何通过VB的串口控件MSComm和下位机进行串口通信的过程。 以下是给VB初学者推荐的两本书籍: 《Visual+Basic+6.0基础教程》 《Visual_Basic与RS-232串行通信控制》 其中,《Visual+Basic+6.0基础教...
labview
串口通讯
的深入分析
labview称做"G"语言,只是说明了它具备了通用编程语言的编程能力,但是任何编程语言都有器独特的特点,否则经过几十年的风风雨雨,并没有出现一种编程语言一统天下的格局,每种编程语言都有其特别适合的领域,从这点来说,数据采集和仪器通讯可以说是它最擅长的领域.毫无疑问,计算机的
串口通讯
是相对比较简单的通讯方式,labview也不例外地对它提供了支持. LABVIEW的串口控制,可以通过多种方法:
探索
串口通讯
的入门宝典:VB串口调试助手
探索
串口通讯
的入门宝典:VB串口调试助手 去发现同类优质开源项目:https://gitcode.com/ 在数字化时代,
串口通讯
依然是设备间沟通的重要桥梁。而对于那些渴望踏入Visual Basic编程世界的初学者,或是对串口调试有特定需求的开发者,一款名为“VB串口调试助手”的开源项目成为了理想的学习和开发工具。本文将带你深入了解这一宝藏项目的魅力所在,助你在串口编程的世界里扬帆起航。 项目深...
基于VB的
串口通讯
及其软件
实现
1 串口通信的通信机理 PC串行通信是指直接对串行端口的UART(PC机的通用异步收发器,也叫异步通信适配器,是PC机用于异步通信的接口)进行编程
实现
的通信 一般说来,PC机都有一个或多个串行端口,它们依次为Com1、Com2……。这些串口提供了外部设备与PC进行数据传输和通信的通道,在CPU和外设之间充当了解释器的角色。当字符数据从CPU发送给外设时,这些字符数据将被转换
API
1,488
社区成员
23,270
社区内容
发帖
与我相关
我的任务
API
VB API
复制链接
扫一扫
分享
社区描述
VB API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章