2013-04-18 8 views
0

J'ai passé en revue le fil suivant pour mon doute. Mais, ce n'est toujours pas clair.Android Bluetooth reçu des données série brouillé

Why does the serial BT data I received get chopped out?

Chris, qui est une solution bien vous suggérez. Dans les solutions que vous avez fournies, celle avec l'ajout '\ n' me convient car je transmets simplement des valeurs flottantes de mon PC (MATLAB) - après conversion en chaîne - sur mon téléphone Android. J'utilise le code suivant pour regrouper les données en cherchant '\ n' mais les données reçues sont parfois tronquées. S'il te plaît, dis-moi ce que je dois changer.

aReader = new InputStreamReader(mmInStream); 
mBufferedReader = new BufferedReader(aReader); 
aString = mBufferedReader.readLine(); 
mHandler.obtainMessage(BluetoothActivity.MESSAGE_READ, aString).sendToTarget(); 

C'est ce que j'ai dans le gestionnaire pour afficher les données:

String readMessage = (String) msg.obj; 
     try{ 
      float readM = Float.parseFloat(readMessage); 
      text.append("\n" + readM); 
     }catch (NumberFormatException e) { 
      text.append("\n Number Format Exception!!"); 
      e.printStackTrace(); 
     } 

Quel est le problème avec ce genre de réception? Ce serait bien si vous pouviez répondre un peu rapidement car c'est la dernière partie de mon projet et la date limite approche. Merci!

Répondre

0

J'ai moi-même résolu cela. J'ai changé mon délimiteur de '\ n' à 'N' (puisque aucun caractère ne fait partie de mes données qui sont des valeurs flottantes) et j'ai atteint un taux de transmission satisfaisant avec plus de 99% d'intégrité des données à un taux de 600 échantillons par seconde de MATLAB, seulement 10 ont été brouillés) au récepteur (mon application). Mais, merci pour l'idée @Chris Stratton!

Questions connexes