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) ??
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??
Habe mein Problem gelöst. Da es aber keine Interesse daran gibt, werde ich aber auch nicht die Lösung hierfür posten.
Habe auf Sprut jetzt nicht alles durchgelesen.
Kann man dieses Teil unter VB.Net ansprechen.
Minimal 8 Ausgänge
8 Eingänge
1 ADC
1 PWM
Gruß
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
Für viele Modellsteuerungen anwendbar und völlig ausreichend. werde mal bischen Nachlesen. Hast du für Vb.net eine DLL( selbst geschrieben) Stells rein. Gruß
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.