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