Håller på med C# och FTDI FTD2XX_NET, jag får allting att fungera,
men jag undrar om det är någon som har hittat en annan lösning på RX_Event, alltså en interupt rutin för rx delen.
som jag gör nu är att jag bara har en timer på 5ms som kollar om numBytesAvailable är större än 0
vilket gör att jag vet att de finns något att hämta från buffer.
Men jag tvivlar starkt på att de här är det bästa sättet att lösa detta problem.
så här ser det ut nu
Kod: Markera allt
private void timerRX_Tick(object sender, EventArgs e)
{
// Check the amount of data available to read
// In this case we know how much data we are expecting,
// so wait until we have all of the bytes we have sent.
UInt32 numBytesAvailable = 0;
UInt32 numBytesRead = 0;
string readData;
ftStatus = myFtdiDevice.GetRxBytesAvailable(ref numBytesAvailable);
if (ftStatus != FTDI.FT_STATUS.FT_OK)
{
// error
timerRX.Enabled = false;
}
else
{
if (numBytesAvailable >= 1)
{
// Note that the Read method is overloaded, so can read string or byte array data
ftStatus = myFtdiDevice.Read(out readData, numBytesAvailable, ref numBytesRead);
if (ftStatus == FTDI.FT_STATUS.FT_OK)
{
textRX.Text += readData;
}
}
}
jag har googlat i många timmar för att hitta en lösning utan resultat, så jag gör en koll här och ser om någon har någon idee eller lösning.
Mvh // Micke
