Hallo zusammen,
ich habe hier einen Nibo2 der über ein XBee Modul Daten a ein UCOM-XBee
Modul (inkl. XBeee Modul) schickt. Dieses steck in meinem USB Port. Die
empfangenen Daten kann ich mit der Software X-CTU auch problemlos
auslesen.
Nun will ich mir eine Anwendung unter Verwendung von libusb-win32
schreiben damit ich die einkommenden Daten weiter verarbeite kann.
Ich muss dazu sagen dass ich mich noch im "Anänger-Bereich" in C++
Programmierung befinde und ich noch etwas Schwierigkeiten damit habe.
Nun habe ich folgendes Programm,(Windows XP SP3):
#include <stdio.h>
#include "libusb_download\include\lusb0_usb.h"
struct usb_bus *busses;
struct usb_bus *bus;
struct usb_device *dev;
struct usb_dev_handle *xbee;
int returncode;
void init()
{
for (bus = busses; bus; bus = bus->next) {
for (dev = bus->devices; dev; dev = dev->next) {
if (dev->descriptor.iSerialNumber == 220){
if (xbee=usb_open(dev)) {
printf("Device opened \n");
}
else{
printf("Device NOT opened = \n");
}
if((returncode=usb_set_configuration(xbee, 1)) < 0){
printf("NO configuration \n");
}
else{
printf("Configuration = %d \n",returncode);
}
if((returncode=usb_claim_interface(xbee, 0)) < 0){
printf("NOT claimed \n");
}
else{
printf("Claimed = %d \n", returncode);
}
int main() {
usb_init();
usb_find_busses();
usb_find_devices();
busses = usb_get_busses();
init();
char buffer[8];
while (1)
{
returncode = usb_interrupt_read(xbee, 0x82, buffer, 8, 50);
printf ("bytes = %d Buffer=: %d%d%d%d%d%d%d%d \n", returncode,
buffer[0], buffer[1], buffer[2], buffer[3], buffer[4], buffer[5],
buffer[6], buffer[7]);
}
return 0;
}
Das Programm lässt sich ohne Fehler compilieren. Bei
usb_set_configuration und usb_set_configuration bekomme ich auch keine
Fehler. Bei usb_interrupt_read bekomme ich den Fehler -116. Ich bin der
Meinung das ist ein Timeout.
Hier noch die Configs meines USB Adapters:
DLL version: 1.2.6.0
Driver version: 1.2.6.0
bus/device idVendor/idProduct
bus-0/\\.\libusb0-0001--0x03eb-0x204b 03EB/204B
- Manufacturer : Dean Camera
- Product : LUFA USB-RS232 Adapter
- Serial Number: A48363536383511060C1
bLength: 18
bDescriptorType: 01h
bcdUSB: 0110h
bDeviceClass: 02h
bDeviceSubClass: 00h
bDeviceProtocol: 00h
bMaxPacketSize0: 08h
idVendor: 03EBh
idProduct: 204Bh
bcdDevice: 0001h
iManufacturer: 1
iProduct: 2
iSerialNumber: 220
bNumConfigurations: 1
wTotalLength: 62
bNumInterfaces: 2
bConfigurationValue: 1
iConfiguration: 0
bmAttributes: c0h
MaxPower: 250
bInterfaceNumber: 0
bAlternateSetting: 0
bNumEndpoints: 1
bInterfaceClass: 2
bInterfaceSubClass: 2
bInterfaceProtocol: 1
iInterface: 0
bEndpointAddress: 82h
bmAttributes: 03h
wMaxPacketSize: 8
bInterval: 255
bRefresh: 0
bSynchAddress: 0
bInterfaceNumber: 1
bAlternateSetting: 0
bNumEndpoints: 2
bInterfaceClass: 10
bInterfaceSubClass: 0
bInterfaceProtocol: 0
iInterface: 0
bEndpointAddress: 04h
bmAttributes: 02h
wMaxPacketSize: 16
bInterval: 1
bRefresh: 0
bSynchAddress: 0
bEndpointAddress: 83h
bmAttributes: 02h
wMaxPacketSize: 16
bInterval: 1
bRefresh: 0
bSynchAddress: 0
Ich kann diese Konfigurationen auch in meiner Anwendung auslesen, nur
dass ich die vom Nibo2 gesendeten Daten auf meinem PC Auslesen kann
funktioniert nicht. Ich weiß leider nicht mehr weiter und hoffe auf eure
Unterstützung.
Grüße, arccra
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.