Console.WriteLine("Error SPIOpenDevice: " & GetErrorMsg(nRC) & vbCrLf)
Else
nRC = SPISetGlobals(hHandle, nBaudrate, nSigLevel, nAuxVoltage, nClockMode)
nRC = SPIGetGlobals(hHandle, nBaudrate, nSigLevel, nAuxVoltage, nClockMode)
For nIndex = 0 To 100
BufferWrite(nIndex) = 69
BufferRead(nIndex) = 96
Next nIndex
BufferWrite(0) = 5 * 16 ' 0x50 = READ STATUS (M25P80)
BufferWrite(1) = 5 * 16 ' 0x50 = READ STATUS (M25P80)
nRC = SPIDataReq(hHandle, BufferWrite, 2, BufferRead, 2)
If nRC <> 0 Then
Console.WriteLine("Error SPIDatReg: " & GetErrorMsg(nRC) & vbCrLf)
Else
Console.Write("Result: DATAREQ")
For nIndex = 0 To 1
Console.Write(BufferRead(nIndex) & " ")
Next
Console.WriteLine()
End If
SPICloseDevice(hHandle)
End If
End Sub
Über einen Aufruf von SPIOpenDevice wird eine Netzwerkverbindung zum Gerät
1
aufgebaut. Schlägt der Verbindungsaufbau fehl, so wird über die Funktion
GetErrorMsg eine Fehlerbeschreibung anhand des Return-Codes ermittelt.
SPISetGlobals setzt die globalen Einstellungen auf dem Gerät (Baudrate,
2
Signalspannung, Hilfsspannung, Clock-Modus).
Mit SPIDataReq werden Daten zum SPI-Bus gesendet. Die zurück gelesenen
3
Daten werden im Empfangspuffer zur Verfügung gestellt, wenn die Funktion
erfolgreich abgearbeitet wurde.
Die Verbindung zum Gerät wird mit SPICloseDevice geschlossen.
4
Die einzelnen Funktionen der Programmier-API sind über ein entsprechendes
Wrapper-Modul
definiert.
Deklarationen für alle vorhandenen Funktionen der API beinhaltet und auf der dem
Gerät beiliegenden CD-Rom im Sample-Bereich zur Verfügung gestellt wird.
Imports System.Runtime.InteropServices
Namespace Analytica.AnaGate
Public Module AnaGateAPI
Declare Function SPIOpenDevice Lib "AnaGateSPI" (ByRef Handle As Int32, _
Declare Function SPICloseDevice Lib "AnaGateSPI" (ByVal Handle As Int32) As Int32
Declare Function SPISetGlobals Lib "AnaGateSPI" (ByVal Handle As Int32, _
Declare Function SPIGetGlobals Lib "AnaGateSPI" (ByVal Handle As Int32, _
Programmier-Beispiele
' init buffers with some data
' init buffers with some data
4
Folgend
ein
Auszug
87
3
des
Wrapper-Moduls,
ByVal TCPAddress As String, _
ByVal Timeout As Int32) As Int32
ByVal Baudrate As Int32, _
ByVal SigLevel As Byte, _
ByVal AuxVoltage As Byte, _
ByVal ClockMode As Byte) As Int32
ByRef Baudrate As Int32, _
ByRef SigLevel As Byte, _
© 2007-2015 Analytica GmbH
2
das