Gast
#234099
Hallo zusammen, ich arbeite das erste mal mit einem FT245 Chip und habe da so meine Probleme. Ich brauche diesen Chip um die Daten, welcher mir ein PIC18F452 bereitstellt, zu lesen. Laut Doku von FTDI beim D2XX- Treiber kann man die Daten unter C++ auf zwei verschiedenen Arten lesen: 1. immer die aktuellen Daten 2. mit einem timout Die 2. Methode funktioniert mir aber ich bräuchte die 1. Methode und diese Funktioniert mir irgendwie nicht. Mein C- Funktion sieht so aus: void USB::readFTDIonce() { FT_STATUS ftStatus; DWORD EventDWord; DWORD TxBytes; DWORD BytesReceived; DWORD RxBytes; unsigned char RxBuffer[256]; FT_GetStatus(ftHandle,&RxBytes,&TxBytes,&EventDWord); if(RxBytes > 0) { ftStatus = FT_Read(ftHandle,RxBuffer,RxBytes,&BytesReceived); if(ftStatus = FT_OK) { for(int i = 0 ; i< int(RxBytes) ; i++) { printf("%i\n",RxBuffer[i]); } } else { printf("no value was writen on the bus\n"); } } else { printf("can't read\n"); } } und fürs öffnen des devices: void USB::openFTDI() { FT_STATUS ftStatus; ftStatus = FT_Open(0,&ftHandle); if(ftStatus == FT_OK) { printf("CONNECTED\n"); } else { printf("NOT CONNECTED\n"); } } mit dem Pic schreibe ich folgendermassen auf den Bus: while(1) { while(USB_D_NTXE == 1) { } PORTD = 0xFF; USB_D_WR = 1; asm(" NOP"); USB_D_WR = 0; } Leider zeigt mir die Dos-Console immer "no value was writen on the bus" und ich habe keine Ahnung wieso Vielen Dank für euere Hilfe Gruss