在excel中使用GPIB, 使用ibrd 函数时, excel自身报错, 提示microsoftware excel运行有问题。 请教高手 这个怎么解决啊
Dim reply As String
Dim voltval As String
Dim tek370aid As Integer
tek370aid = Init370
Call ibwrt((tek370aid, "id?")
reply = Space(200)
reply = Readdev(tek370aid, 200)
'//// 运行到这句excel自身报错, 出现如上所说的错误提示。
'// init370和Readdev 函数定义如下 ///
Function Readdev(udDev As Integer, length As Integer)
Dim reply As String
reply = Space(length)
Call ibrd(udDev, reply)
poserr = ErrorCheck("ibrd(" & udDev & ", " & reply & ")")
While poserr = 4
Call ibrd(udDev, reply)
poserr = ErrorCheck("ibrd(" & udDev & ", " & reply & ")")
Wend
Readdev = reply
End Function
Function Init370()
Dim iDeviceNumber As Integer
iDeviceNumber = Worksheets("Sheet1").Range("device_address").value
Call ibfind("GPIB0", udGPIB0)
Call ibsic(udGPIB0)
Call ibdev(0, iDeviceNumber, 0, 11, 1, 0, udDevice)
Call ibask(udGPIB0, IbaPAD, 0)
Call ibask(udDevice, IbaBNA, 0)
Call ibask(udGPIB0, IbaPAD, 0)
Call ibconfig(0, IbcAUTOPOLL, 1)
Call ibconfig(0, IbcEOSrd, 0)
SendIFC (0)
Call ibeot(udDevice, 1)
Call ibtmo(udDevice, T3s)
Init370 = udDevice
End Function
你好,
ibrd函数使用方式为ibrd (int ud, void *rdbuf, size_t count),而你的代码中只有两个参数,这会不会是导致错误的原因呢。
另:建议在比较熟悉的编程环境中调试成功了之后,再在Excel中编写代码