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?
Problem med USB ftdi D2XX drivarna.
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.
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