Foxtable(狐表)用户栏目专家坐堂 → 有关dll 库 使用的小疑问


  共有5529人关注过本帖树形打印复制链接

主题:有关dll 库 使用的小疑问

帅哥哟,离线,有人找我吗?
lzgt
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:69 积分:789 威望:0 精华:0 注册:2017/7/1 18:52:00
有关dll 库 使用的小疑问  发帖心情 Post By:2022/7/25 13:11:00 [只看该作者]

最近在用HUF RFID 读卡器,试着用foxtable 写个读写小程序,碰到dll 引用 无法打开端口的问题。以下设置&代码,点击按钮时却退出了foxtable程序,不知是那里错误。所以请教各位大佬指导下。先谢过!

UHFReader09.DLL动态连接库 关于函数的说明

3.1.2) OpenComPort():连接到指定串口

功能描述:

该函数用于指定串口初始化,并通过连接串口和读写器以创建通信连接。数据传输协议是57600bps8位数据,1位停止位,没有奇偶校验位。在调用其它函数之前,您必须先连接串口和读写器。

应用:

long  WINAPI OpenComPort(long Port, unsigned char *ComAdr, unsigned char * Baud,long FrmHandle);

参数:

Port:输入变量,COM1COM12常数。

ComAdr:输入/输出变量,远距离读写器的地址。以广播地址(0xFF)调用此函数,函数将检测指定端口,并将检测到的连接在此端口上的读写器的实际地址回写到指针ComAdr所指变量中;以其它地址调用此函数,将检测指定端口上是否连接了具有指定ComAdr地址的读写器。

Baud:输入变量,用该值设置或更改串口通讯控件的波特率。

baudrate

实际波特率

0

9600bps

1

19200 bps

2

38400 bps

4

56000 bps

5

57600 bps

6

115200 bps

     FrmHandle:输出变量,返回与读写器连接端口对应的句柄,应用程序通过该句柄可以操作连接在相应端口的读写器。如果打开不成功,返回的句柄值为-1.

COM1-COM12的定义如下:#define COM1      1 :#define COM2      2   ………   #define COM12     12

返回:如果该函数调用成功,返回一个零值。否则,返回非零值请查看其他返回值定义,返回的错误代码请查看错误代码定义。



foxtable 中全局代码:

Public Declare Function OpenComPort Lib "UHFReader09.dll" (ByVal Port As Long, ByRef ComAdr As Byte, ByVal Baud As Byte, ByVal FrmHandle As Long) As Long


窗体按钮单击事件_打开端口事件为:(端口确定为com4)

打开端口代码

Dim Port As Long : Port = 4   '设置端口号

ComAdr = &HFF            '全局变量广播地址

Dim Baud As Byte : Baud = 5  '设置串口波特率

FrmHandle = -1            '置位,全局变量      

 

fCmdRet = OpenComPort(Port, ComAdr, Baud, FrmHandle)


If fCmdRet = 0 Then

    MessageBox.Show("端口打开成功!")

Else

    MessageBox.Show("端口打开失败!")

End If




 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/7/25 14:26:00 [只看该作者]

我也一知半解。试试

foxtable 中全局代码:

Public Declare Function OpenComPort Lib "UHFReader09.dll" (ByVal Port As LongByval ComAdr$ByVal Baud As ByteByVal FrmHandle As LongAs Long


窗体按钮单击事件_打开端口事件为:(端口确定为com4)

打开端口代码

Dim Port As Long = 4   '设置端口号

Dim ComAdr As new String(ComAdr, 20)    '全局变量广播地址

ComAdr &HFF

Dim Baud As string = 5  '设置串口波特率

FrmHandle = -1            '置位,全局变量      

 

fCmdRet = OpenComPort(Port, ComAdr, Baud, FrmHandle)


 回到顶部