Foxtable(狐表)用户栏目专家坐堂 → API函数


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

主题:API函数

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


加好友 发短信
等级:婴狐 帖子:13 积分:184 威望:0 精华:0 注册:2018/7/26 13:49:00
API函数  发帖心情 Post By:2018/9/6 9:51:00 [只看该作者]

老师,好
我需要连接高频的读卡器,按照厂方给的VB的demo,将VB里的全局函数全部拷贝到foxtable里,但是设置波特率函数老是不过,请教!

VB环境的全局函数代码:

Public Type TagIds
      TagType As Byte
      AntNum  As Byte
      Ids(11) As Byte
End Type

Public Declare Function CommOpen Lib "UHFApiV10.dll" (ByRef hCom As Long, ByVal com_port As String) As Integer
Public Declare Function CommClose Lib "UHFApiV10.dll" (ByVal hCom As Long) As Integer
Public Declare Function SetBaudRate Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal BaudRate As Integer, ByVal NetAddr As Byte) As Integer

Public Declare Function ResetReader Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal NetAddr As Byte) As Integer
Public Declare Function GetFirmwareVersion Lib "UHFApiV10.dll" (ByVal hCom As Long, ByRef major As Byte, ByRef minor As Byte, ByVal NetAddr As Byte) As Integer

Public Declare Function ClearIDBuffer Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal iAddr As Byte) As Integer

' ISO18000-6B Tag Functions
Public Declare Function IsoMultiTagIdentify Lib "UHFApiV10.dll" (ByVal hCom As Long, ByRef Count As Long, ByRef Value As TagIds, ByVal NetAddr As Byte) As Integer
Public Declare Function IsoMultiTagRead Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal iAddr As Long, ByRef Count As Long, ByRef Value As TagIds, ByVal NetAddr As Byte) As Integer
Public Declare Function IsoWriteTag Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal iAddr As Byte, ByVal Value As Byte, ByVal NetAddr As Byte) As Integer
Public Declare Function IsoReadWithID Lib "UHFApiV10.dll" (ByVal hCom As Long, ByRef TagID As Long, ByVal iAddr As Long, ByRef AntNum As Long, ByRef Value As Long, ByVal NetAddr As Byte) As Integer
Public Declare Function IsoWriteWithID Lib "UHFApiV10.dll" (ByVal hCom As Long, ByRef TagID As Long, ByVal iAddr As Long, ByVal Value As Byte, ByVal NetAddr As Byte) As Integer
Public Declare Function IsoLockTag Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal iAddr As Byte, ByVal NetAddr As Byte) As Integer
Public Declare Function IsoQueryLock Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal iAddr As Byte, ByRef status As Byte, ByVal NetAddr As Byte) As Integer
Public Declare Function IsoBlockWrite Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal iAddr As Byte, ByVal Length As Byte, ByRef Value As Long, ByVal NetAddr As Byte) As Integer
Public Declare Function IsoSigleTagRead Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal iAddr As Long, ByRef Value As Byte, ByVal NetAddr As Byte) As Integer

'EPC Class1 Gen2 Function
Public Declare Function Gen2MultiTagIdentify Lib "UHFApiV10.dll" (ByVal hCom As Long, ByRef Count As Long, ByRef Value As TagIds, ByVal NetAddr As Byte) As Integer
Public Declare Function Gen2WriteEPC Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal WordPtr As Byte, ByRef Value As Byte, ByVal NetAddr As Byte) As Integer
Public Declare Function Gen2LockTag Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal MemBank As Byte, ByVal NetAddr As Byte) As Integer
Public Declare Function Gen2KillTag Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal PassWord As Long, ByVal NetAddr As Byte) As Integer
Public Declare Function Gen2InitEPC Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal WordCount As Byte, ByVal NetAddr As Byte) As Integer
Public Declare Function Gen2Read Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal MemBank As Byte, ByVal WordPtr As Byte, ByVal wordcnt As Byte, ByRef Value As Byte, ByVal NetAddr As Byte) As Integer
Public Declare Function Gen2Write Lib "UHFApiV10.dll" (ByVal hCom As Long, ByVal MemBank As Byte, ByVal WordPtr As Byte, ByVal Value As Long, ByVal NetAddr As Byte) As Integer

Public flagTag As Long
Public bButton2 As Boolean
Public hCom As Long
Public Timeflag  As Long
Public TimeCount As Integer


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180906094548.jpg
图片点击可在新窗口打开查看

打开串口成功
Dim result As Integer  = CommOpen(hCom, "com4")
MessageBox.Show(hcom)
If hcom > 0 Then
    e.Form.Controls("Label1").text = "打开串口成功"
Else
    e.Form.Controls("Label1").text = "打开串口不成功"
End If

关闭串口也是成功的
Dim result As Integer = CommClose(hCom)
MessageBox.Show(hcom)
If result = 0 Then
    e.Form.Controls("Label1").text = "关闭串口成功"
Else
    e.Form.Controls("Label1").text = "关闭串口不成功"
End If

设置波特率就是不过
Dim temp1 As Integer = SetBaudRate(hCom, 0, 255)
MessageBox.Show(hcom)
MessageBox.Show(temp1)
If temp1 = 0 Then
    e.Form.Controls("Label1").text = "设置波特率口成功"
Else
    e.Form.Controls("Label1").text = "设置波特率口不成功"
End If

请问哪里出问题了?




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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/6 10:00:00 [只看该作者]

 

厂家给你的vb.net的实例和c#的实例,发上来看看。

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/6 10:01:00 [只看该作者]

或者贴出人家实例里面的完整代码。

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


加好友 发短信
等级:婴狐 帖子:13 积分:184 威望:0 精华:0 注册:2018/7/26 13:49:00
  发帖心情 Post By:2018/9/6 11:05:00 [只看该作者]

这是厂家VB实例

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2018/9/6 11:09:00 [只看该作者]

Api申明中的: As Long
改为: As Integer

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


加好友 发短信
等级:婴狐 帖子:13 积分:184 威望:0 精华:0 注册:2018/7/26 13:49:00
  发帖心情 Post By:2018/9/6 13:22:00 [只看该作者]

改完了,设置波特率过了,谢谢老师

 回到顶部