您现在所在的是:

串口通信

回帖:3个,阅读:1502 [上一页] [1] [下一页]
966
jiechen111
文章数:10
年度积分:50
历史总积分:966
注册时间:2004/7/6
发站内信
发表于:2005/2/5 14:58:00
#0楼
我做了个打开关闭串口的小程序,在win2000系统下,这个程序可以打开和关闭串口,但是到了win98系统下却老是弹出“无法打开串口”对话框,这是怎么回事啊?Createfile这个API函数在win98下应该也可以用的啊,程序在下面,请高手给我指教,谢谢!EMail:jiechen111@163.com

Private sub command1_Click( )
Const GENERIC_READ=&H80000000
    Const GENERIC_WRITE=&H40000000
    Const OPEN_EXISTING=3
    Const FILE_ATTRIBUTE_NORMAL=&H80
    Dim SecurityA As SECURITY_ATTRIBUTES


Dim Temp(5) As String
select case(temp(3))
  Case 0:hCom=CreateFile("COM1",GENERIC_READ OR GENERIC_WRITE,0,SECURITYA,OPEN_EXISTING,FILE_ATTRIZBUTE_NORMAL,0)
  Case 1:hCom=CreateFile("COM2",GENERIC_READ OR GENERIC_WRITE,0,SECURITYA,OPEN_EXISTING,FILE_ATTRIZBUTE_NORMAL,0)
  Case 2:hCom=CreateFile("COM3",GENERIC_READ OR GENERIC_WRITE,0,SECURITYA,OPEN_EXISTING,FILE_ATTRIZBUTE_NORMAL,0)
  Case 3:hCom=CreateFile("COM4",GENERIC_READ OR GENERIC_WRITE,0,SECURITYA,OPEN_EXISTING,FILE_ATTRIZBUTE_NORMAL,0)
  Case 4:hCom=CreateFile("COM5",GENERIC_READ OR GENERIC_WRITE,0,SECURITYA,OPEN_EXISTING,FILE_ATTRIZBUTE_NORMAL,0)
  Case 5:hCom=CreateFile("COM6",GENERIC_READ OR GENERIC_WRITE,0,SECURITYA,OPEN_EXISTING,FILE_ATTRIZBUTE_NORMAL,0)
 Case 6:hCom=CreateFile("COM7",GENERIC_READ OR GENERIC_WRITE,0,SECURITYA,OPEN_EXISTING,FILE_ATTRIZBUTE_NORMAL,0)
 Case 7:hCom=CreateFile("COM8",GENERIC_READ OR GENERIC_WRITE,0,SECURITYA,OPEN_EXISTING,FILE_ATTRIZBUTE_NORMAL,0)
 Case 8:hCom=CreateFile("COM9",GENERIC_READ OR GENERIC_WRITE,0,SECURITYA,OPEN_EXISTING,FILE_ATTRIZBUTE_NORMAL,0)
 Case 9:hCom=CreateFile("COM10",GENERIC_READ OR GENERIC_WRITE,0,SECURITYA,OPEN_EXISTING,FILE_ATTRIZBUTE_NORMAL,0)
 Case 10:hCom=CreateFile("COM11",GENERIC_READ OR GENERIC_WRITE,0,SECURITYA,OPEN_EXISTING,FILE_ATTRIZBUTE_NORMAL,0)
 Case 11:hCom=CreateFile("COM12",GENERIC_READ OR GENERIC_WRITE,0,SECURITYA,OPEN_EXISTING,FILE_ATTRIZBUTE_NORMAL,0)
 end select
 if hcom=-1 then
    i=MSGBOX("无法打开串口",vbOKONLY,"错误")
    End if
End sub

Private sub command2_Click( )
CloseHandle(hcom)
End sub

module里声明如下:
Public Declare Function Createfile lib "kernel32"Alias"CreateFileA"(Byval lpFileName As String,Byval dwdesiredAcess as Long ,Byval DwshareMode As Long ,LpsecurityAttribute As Long , Byval DwFlagsandAttributes As Long ,Byval HtTemplateFile As long)as Long

Public Declare Function CloseHandle lib "kernel32"(ByVal hobject As long)as long
935
ican
文章数:17
年度积分:50
历史总积分:935
注册时间:2005/8/2
发站内信
发表于:2005/8/2 3:06:00
#1楼
设置com口的软件,可以任意设置COM1....COM8

www.peijian.com.cn/bbs
www.PeiJian.com.cn/bbs
1171
newsmart
文章数:117
年度积分:50
历史总积分:1171
注册时间:2001/4/2
发站内信
发表于:2005/8/2 13:24:00
#2楼
建议您还是使用通信控件来编程。如TCOMPORT3.0,在c++builder或DELPHI下均可使用,效果不错。
匿名用户
文章数:N/A
年度积分:0
历史总积分:0
注册时间:2005/8/4
发站内信
发表于:2005/8/4 12:26:00
#3楼
该用户被锁定,回复内容不予显示!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004