USB OTGアダプターを使用して電話に接続されたUSB FTDIケーブルを介してコンピューターから送信されたシリアルデータを読み取って表示するAndroidアプリケーションを作成しました。
端末プログラムから送信されたデータをコンピューターに表示するコードを書くことができました。これで、1 文字を送信しても問題なく動作しますが、長いデータ文字列を送信すると、複数の画面に表示されます。部品。
例:
端末から送信された文字列: 「端末プログラムからのデータ」
複数のトーストで電話スクリーンに表示されるデータ: 「dat」、「a from t」、「erminal pr」、「gram」
データを読み取るためのコード:
private Runnable mLoop = new Runnable() {
@Override
public void run() {
int len;
final byte[] buf = new byte[256];
for (;;) {
len = mSerial.read(buf);
buf[len] = 0;
if(len > 0) {
for (int i= 0; i < len; ++i) {
mText.append((char) buf[i]);
}
mHandler.post(new Runnable() {
public void run() {
MainActivity.this.runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(MainActivity.this, mText.toString(), Toast.LENGTH_SHORT).show();
mText.setLength(0);
}
});
}
});
try {
Thread.sleep(50);
}
catch (InterruptedException e) {
e.printStackTrace();
}
if (mStop) {
mRunningMainLoop = false;
return;
}
}
}
}
};
誰かがこれに光を当てることができれば、私は非常に感謝しています、ありがとう