Forum: PC-Programmierung Android und FTDI232H


von Thomas (Gast)


Lesenswert?

Hallo,
ich hoffe ich bin hier richtig. Über die Forumssuche habe ich leider 
keine passenden Beiträge gefunden, also versuch ich es selber.

Wir haben folgendes Problem.

Bei dem Versuch Daten per USB von einem FT232H mittels Android Tablet 
(Android 4.4.2)zu lesen, kommen wir nicht weiter.
Ich verwende die j2xx Library von http://www.ftdichip.com/Android.htm
und hab auch schon die Beispiele der Seite und das User Manual durch, 
konnte aber keine Lösung finden.

Initialisieren klappt soweit und es wird die laut unseren Informationen 
richtige Menge an Bytes (64) geliefert.

Allerdings wird nur 0 in meinen Buffer geschrieben.

1
int bytesWritten = 0;
2
byte[] writeBuffer = new byte[] { (byte)0x80, (byte)0x12, (byte)0xF1, (byte)0x02, (byte)0x21, (byte)0x08, 
3
((byte)0x80 + (byte)0x12 + (byte)0xF1 + (byte)0x02 + (byte)0x21 + (byte)0x08) & (byte)0xFF};
4
5
bytesWritten = ftDev.write(writeBuffer, writeBuffer.length);
6
7
try 
8
{
9
  Thread.sleep(150);
10
} catch (InterruptedException e) {
11
  e.printStackTrace();
12
}
13
                  
14
rxQueue = ftDev.getQueueStatus(); //Liefert 64
15
16
byte[] results = new byte[rxQueue];
17
numBytesRead = ftDev.read(results, rxQueue);
18
19
if (results.length == 64) //Result ist 64 mal 0
20
{
21
   int cnt = 0;
22
   for (byte b : results)
23
   {
24
      stream +="Byte["+ String.valueOf(cnt) +"]: " + b + "\n";
25
      cnt++;
26
   }
27
}

Ich habe die selbe Anwendung in C# nachgebaut. Hier funktioniert alles 
einwandfrei.

Hoffe ich konnte mein Problem einigermaßen verständlich erklären.
Bin um jeden Tipp dankbar.

LG
Thomas

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Es gibt von FTDI einen Android-Terminalemulator.  Hast du mal versucht,
ob der auf deinen FT232H zugreifen kann?

von Thomas (Gast)


Lesenswert?

Danke für deine Antwort.

Ja, den hab ich auch schon ausprobiert. Ich kann auch mit meinem 
Programm die Device Information auslesen.

Das Problem ist eben nur, dass mein Buffer "leer" bleibt obwohl die 
Funktion "GetQueueStatus" 64 verfügbare Bytes liefert.

Ich vermute, dass es an irgendeiner Konfiguration liegt die ich 
falsch/nicht mache. Aber ich habe keine Idee wo ich anfangen soll.

von Thomas (Gast)


Lesenswert?

Vielleicht noch zur Information.

Habe jetzt bemerkt, das im LogCat readBulkInData:: Cannot read data from 
Source! ausgegeben wird.

Warum ist das so?

von Richard H. (richardhesse)


Lesenswert?

Ich habe das selbe Problem.
Sogar die Terminal-App von FTDI zeigt nur Nullen an.
Am PC kommen die Daten aber einwandfrei an.
Konnte das Problem mittlerweile gelöst werden ?

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
Noch kein Account? Hier anmelden.