以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 有关dll 库 使用的小疑问 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=178872) |
||||||||||||||
-- 作者:lzgt -- 发布时间:2022/7/25 13:11:00 -- 有关dll 库 使用的小疑问 最近在用HUF RFID 读卡器,试着用foxtable 写个读写小程序,碰到dll 引用 无法打开端口的问题。以下设置&代码,点击按钮时却退出了foxtable程序,不知是那里错误。所以请教各位大佬指导下。先谢过!
3.1.2)
OpenComPort():连接到指定串口 功能描述: 该函数用于指定串口初始化,并通过连接串口和读写器以创建通信连接。数据传输协议是57600bps,8位数据,1位停止位,没有奇偶校验位。在调用其它函数之前,您必须先连接串口和读写器。 应用: long
WINAPI OpenComPort(long Port, unsigned char *ComAdr, unsigned char *
Baud,long FrmHandle); 参数: Port:输入变量,COM1—COM12常数。 ComAdr:输入/输出变量,远距离读写器的地址。以广播地址(0xFF)调用此函数,函数将检测指定端口,并将检测到的连接在此端口上的读写器的实际地址回写到指针ComAdr所指变量中;以其它地址调用此函数,将检测指定端口上是否连接了具有指定ComAdr地址的读写器。 Baud:输入变量,用该值设置或更改串口通讯控件的波特率。
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 |
||||||||||||||
-- 作者:有点蓝 -- 发布时间:2022/7/25 14:26:00 -- 我也一知半解。试试 foxtable 中全局代码: Public Declare Function OpenComPort Lib "UHFReader09.dll" (ByVal Port As Long, Byval ComAdr$, ByVal Baud As Byte, ByVal FrmHandle As Long) As 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) |