Problem med USB ftdi D2XX drivarna.

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Virror
Inlägg: 1025
Blev medlem: 28 april 2004, 11:03:14
Ort: Göteborg
Kontakt:

Problem med USB ftdi D2XX drivarna.

Inlägg av Virror »

Hej, jag håller på i Borland och kodar ett program som ska läsa data från ett kort jag byggt via USB.
Problemet är att jag inte får det att fungera som det ska. Jag kan läsa av att ftdi-chipet finns där och kan läsa all dess ID och så vidare. Dock står det alltid att RxBufferten är tom. Men i terminal så får jag massor med data. Någon som jobbat med D2XX drivarna och vet vad som är fel?
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Ja, jag har jobbat med dem och ja, det har fungerat väl för mig - antar att du missat något bara för det är enkelt att få det att fungera. RTFM är jag rädd.... Dessutom är det enda råd du KAN få med tanke på den ringa lämnade informationen.
Virror
Inlägg: 1025
Blev medlem: 28 april 2004, 11:03:14
Ort: Göteborg
Kontakt:

Inlägg av Virror »

Problem: När jag skriver ut hur mycket som är i Rx bufferten så får jag alltid noll.

Fungerar som sagt att läsa ID och dylikt vilket innebär att jag får kontakt med drivarna och kretsen i sig. Har inga problem med själva funktionen som bara är copy paste från ftdis hemsida. När jag tar emot data på terminalen så rasar det in data som det ska. Men ingen data i Rx bufferten.

Om det är något som är oklart får du gärna peka på vad du vill veta med specifikt.

Kod: Markera allt

 
    ftStatus = FT_Open(0 ,&ftHandle);  //Open device
    if (ftStatus != FT_OK)
    {
        if (ftStatus == FT_DEVICE_NOT_FOUND) //FT_Open failed
        {
            Label4->Caption = "Device not found";
            return;
                        
        }
        else
        {
            Label4->Caption = "FAIL";
            return;
        }
    }
        
    Label4->Caption = "OK";
    //FT_Open OK, use ftHandle to access device
    FT_GetStatus(ftHandle,&RxBytes,&TxBytes,&EventDWord);
    //FT_GetStatus, gets amount of bytes in RX buffer

    Label16->Caption = RxBytes;

    //if (RxBytes > 0) //If bytes in RX buffer
    {
        ftStatus = FT_Read(ftHandle,RxBuffer,1,&BytesReceived);
        //Read data from buffer
        Label6->Caption = RxBuffer[0];
    }

    ftStatus = FT_Close(ftHandle);
    //Closes device
Virror
Inlägg: 1025
Blev medlem: 28 april 2004, 11:03:14
Ort: Göteborg
Kontakt:

Inlägg av Virror »

Ingen som har någon erfarenhet av FTDIs D2XX drivare?
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Jag har bara använt libftd2xx indirekt (i Python), och bara för att köra MPSSE.

Men det jag kommer på sådär spontant är ifall man inte måste ställa in baudrate osv innan man kan få någon data?

Om du öppnar den virtuella serieporten med ett terminalprogram lär ju den initialiseringen göras där...
Virror
Inlägg: 1025
Blev medlem: 28 april 2004, 11:03:14
Ort: Göteborg
Kontakt:

Inlägg av Virror »

Det kan ju vara en grej helt klart, ska kolla lite mera på detta, tack.
Skriv svar