Spruts USB4All und Visual Basic 2005

Gast #1116804
Lesenswert?

Hallo Leute

Beschäftige mich gerade mit dem USB4All von Sprut. Habe aber folgendes 
Problem: Ich kann die ADC Werte nicht einlesen. Es kommt immer nur 0 an.
Hier mal der Code:

    Public Function ReadAN4() As Integer
        'Öffne Port
        MPUSB_Whandler = _MPUSBOpen(0, "vid_04d8&pid_ff0b", "\MCHP_EP1", 
0, 0)
        MPUSB_Rhandler = _MPUSBOpen(0, "vid_04d8&pid_ff0b", "\MCHP_EP1", 
1, 0)
        'Lösche alle Buffer
        MPUSB_WLength = 4
        InBuf(0) = 0
        InBuf(1) = 0
        InBuf(2) = 0
        InBuf(3) = 0
        MPUSB_RLength = 0
        'Schreibe Daten raus
        OutBuf(0) = &H51    'ADC System
        OutBuf(1) = 1       'init
        OutBuf(2) = 5       'AN0..AN4
        OutBuf(3) = 0       'ref = VCC und VSS
        _MPUSBWrite(MPUSB_Whandler, OutBuf(0), 4, MPUSB_WLength, 100)
        OutBuf(0) = &H51    'ADC System
        OutBuf(1) = 0       'Festlegen Von
        OutBuf(2) = 4       'AN4
        _MPUSBWrite(MPUSB_Whandler, OutBuf(0), 3, MPUSB_WLength, 100)
        OutBuf(0) = &H51    'ADC System
        OutBuf(1) = 3       'ADC lesen
        _MPUSBWrite(MPUSB_Whandler, OutBuf(0), 2, MPUSB_WLength, 100)
        'Empfange Daten
        _MPUSBRead(MPUSB_Rhandler, InBuf(0), 4, MPUSB_RLength, 100)
        ReadAN4 = (InBuf(3) * 256 + InBuf(2))
        'Schliese Port
        _MPUSBClose(MPUSB_Whandler)
        _MPUSBClose(MPUSB_Rhandler)
    End Function

Hat sich von euch schon jemand damit beschäftigt (USB4ALL) ??
Gast #1118235
Lesenswert?

OK einen Fehler habe ich gefunden (bekommen):

        OutBuf(0) = &H51    'ADC System
        OutBuf(1) = 0       'Festlegen Von
        OutBuf(2) = 4       'AN4

muss

        OutBuf(0) = &H51    'ADC System
        OutBuf(1) = 2       'Festlegen Von
        OutBuf(2) = 4       'AN4
heissen.


Trotzdem bekomme ich:

Inbuf(0) = 81  -> Passt
Inbuf(1) = 1   -> Sollte 3 sein
inbuf(2) + inbuf(3) -> Irgendwelche Werte, nur nicht das was hinkommt.

Hat jemand auch schon mal so ein Phänomän gehabt??
Gast #1125620
Lesenswert?

Firmwareaktualisierung:
  Mit Bootloader
  funktioniert
Stromversorgung:
  Bus-powered (max. 100mA)

nötige externe Bauelemente:
  1 Quarz, 4 Keramikkondensatoren, eine Miniaturdrossel
digitale IO-Ports:   max. 19
  TTL-Pegel, Output max 20mA   funktioniert
ADC:   5 Kanäle   10 Bit   funktioniert
RS232:   1 x   300..115000 Baud   funktioniert
I2C:   1 x
  Master-Mode, 7-Bit,  100/400/1000kHz
  funktioniert
Microwire-Bus:   1 x
  187 kHz ... 12 MHz
  noch nicht einsetzbar
PWM-Ausgänge:   2 x
  max. 10 Bit Auflösung, 3kHz ... 480kHz   funktioniert
interner Datenspeicher (EEPROM):
  192 Byte   funktioniert
LCD-Anschluss:   2 x   jeweils bis 2x40 oder 4x20 Zeichen mit 
HD44780-Controller   nur 2- oder 4-zeilig funktioniert
Schrittmotoranschluss:   2 x ABCD-Phasen
  4 Hz..1000 Hz  Halbschritt/Vollschritt   funktioniert

  4 x L297-Interface
  4 Hz..1000 Hz   funktioniert
Frequenzmesser:
  1 x
  Fmax = 50 MHz
5 Dezimalstellen genau
beste Auflösung: 10 Hz


Mitlerweile habe ich es geschaft, es unter VB.net (und höher) 
anzusprechen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren