IOWarrior und SPI

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Vodafone
Posts: 12
Joined: Tue Nov 21, 2006 3:24 pm

Post by Vodafone »

vielen dank, ich kommuniziere zumindest mal :).

jedoch ergeben die werte wenig bis gar keinen sinn.

also bei den configs von CPOL und CPHA hab ich alle möglichkeiten durch, jedoch ergibt es nie wirklich sinn.

vl mache ich auch nur etwas bei der ausgabe des 12bit-wortes oder beim anfordern des richtigen kanals etwas falsch?
Guido Körber
Site Admin
Posts: 2876
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Ich hab jetzt das Datenblatt nicht vor der Nase, aber mir war so, als wenn die Bits für die Kanalwahl an eine andere Position müssen, der Chip sieht das ja nicht als Byte an was da kommt, der SPI aber schon.
Vodafone
Posts: 12
Joined: Tue Nov 21, 2006 3:24 pm

Post by Vodafone »

daran habe ich auch schon gedacht, bis jetz habe ich ihm nur 10 also 0x2 geschickt.
werde es jetzt mit "10 000000"

THX

mfg
Vodafone
Posts: 12
Joined: Tue Nov 21, 2006 3:24 pm

Post by Vodafone »

hallo

es lag tatsächlich an der wahl des kanals!

THX leute
Vodafone
Posts: 12
Joined: Tue Nov 21, 2006 3:24 pm

Post by Vodafone »

so nun melde ich mich wieder ;).
diesmal mit einem anderen problem.

also, ich habe meine software unter C geschrieben und sie läuft tadellos.
jetz wollte ich das ganze in VB .net schreiben.

Ich habe das Maxim bsp. genommen und umkonvertiert und danach meine parameter eingestellt.

ich messe mittels eines timers ein paar mal, danach möchte ich die verbindung folgendermaßen trennen:
Private Sub btEnd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btEnd.Click
'declares
Dim I As Integer
Dim Report(8) As Byte

' stop timer
Timer1.Enabled = False
' deactivate SPI
If IOWarrior <> 0 Then
Report(0) = &H8S
Report(1) = &H0S
Report(2) = &H0S
'UPGRADE_WARNING: Die Standardeigenschaft des Objekts I konnte nicht aufgelöst werden. Klicken Sie hier für weitere Informationen: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'
I = IowKitWrite(IOWarrior, IOW_PIPE_SPECIAL_MODE, Report(0), 8)

End If
' close IO-Warriors
IowKitCloseDevice((IOW_Renamed))

'######## save data
FileClose(1)
End Sub
diese funktion habe ich aus dem sample der Form1_FormClosed funktion entnommen.

mich macht nur die meldung die durch den converter entstanden ist stutzig (der link funzt nich): 'UPGRADE_WARNING: Die Standardeigenschaft des Objekts I konnte nicht aufgelöst werden. Klicken Sie hier für weitere Informationen: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'

der compiler macht aber keinen fehler.

wenn ich aber nach dem "verbindung trennen" die initialisierungsfunktion ein zweites mal starte, wird mir angezeigt, dass kein IO-Warrior im system ist.

initialisierung:
Private Sub btStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btStart.Click
'declares
Dim I As Integer
Dim Report(8) As Byte

'############### STARTINGPARAMETERS #########################################################
Dim timing As Integer
timing = 10 '// Set the Scan-Time (dt. Abtastrate) in ms; normaly 1000



Timer1.Interval = timing

' open the IO-Warriors
IOW_Renamed = IowKitOpenDevice
IOWarrior = 0
' search for IOW24
For I = 1 To IowKitGetNumDevs
If IowKitGetProductId(IowKitGetDeviceHandle(I)) = IOWKIT_PID_IOW24 Then
IOWarrior = IowKitGetDeviceHandle(I)
Exit For
End If
Next
' if found activate SPI
If IOWarrior = 0 Then
MsgBox("Can not open device!", 0, "Error") ' Barf and exit from program
End
Else
Report(0) = &H8S
Report(1) = &H1S
Report(2) = &H7S
I = IowKitWrite(IOWarrior, IOW_PIPE_SPECIAL_MODE, Report(0), 8)
' start timer for reading
Timer1.Enabled = True
End If

'######## save data
Dim filename As String
filename = My.Application.Info.DirectoryPath & "\daten.txt"
FileOpen(1, filename, OpenMode.Output)
End Sub
wenn ich das programm beende und wieder von vorne beginne, funktioniert alles einwand frei. bis ich die initialisierungsfunktion ein zweites mal starte.

ich denke dass ich in der "verbindung beenden" funktion einen fehler habe, bzw. dass dieser durch das convertieren hervorgerufen wird.

kennt jemand (unter VB.net) dieses problem?

vielen dank und mfg
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Das ist ein Problem der 1.5 iowkit.dll. IowKitCloseDevice funktioniert nicht richtig.
Der Bug ist inzwischen behoben und wir machen noch diese Woche ein Windows-Release. Die Beispiele wurden ueberarbeitet und mehrere MFC Win32 C++ Beispiele erstellt. Alle VB6-Beispiele konvertieren jetzt ohne Fehler nach VB.net.
Vodafone
Posts: 12
Joined: Tue Nov 21, 2006 3:24 pm

Post by Vodafone »

wunderbar!

vielen dank.

edit: mit der SDK vom 17.1.2007 läuft alles perfekt.
nochmals danke



mfg
Post Reply