Ich wollte fragen ob in.read(); ( in ist der InputStream ) immer ein Byte aus dem Stream ausliesst , ... wenn ich jetzt wieder in.read() aufrufe ... bekomme ich dann dass nächste byte ????
Denn ich habe ein datenprotokoll dass so aussieht:
s | n | p | 0xB7 | 0x0A | active channels(MSB) | active channels(LSB) | Yaw (MSB) | Yaw (LSB) | Pitch (MSB) | Pitch (LSB) | Roll(MSB) | Roll(LSB)
( immer 1 byte )
jetzt mchte ich auf daten warten bis 's' ( dez=115 ) kommt , dann lese ich ein weiteres byte und will wissen ist es ein 'n' ( dez=110) ... usw.
Wird dass so gehen ??
Denn ich habe ein datenprotokoll dass so aussieht:
s | n | p | 0xB7 | 0x0A | active channels(MSB) | active channels(LSB) | Yaw (MSB) | Yaw (LSB) | Pitch (MSB) | Pitch (LSB) | Roll(MSB) | Roll(LSB)
( immer 1 byte )
jetzt mchte ich auf daten warten bis 's' ( dez=115 ) kommt , dann lese ich ein weiteres byte und will wissen ist es ein 'n' ( dez=110) ... usw.
Wird dass so gehen ??
Java:
byte activeChannel;
int len;
int stop;
while((stop=in.read())>-1){
// prüfe ob "s" gelesen wird
if(stop==115){
stop=in.read();
// prüfe ob "n" gelesen wird
if(stop==110){
stop=in.read();
// prüfe ob "p" gelesen wird
if(stop==112){
stop=in.read();
// prüfe ob "0xB7" gelesen wird
if(stop==183){
len=in.read();
byte[] data=new byte[len];
// grösse der SENSOR_DATA
for(int i=0;i<len;i++){
stop=in.read();
data[i]=(byte)stop;
}