0

이 질문은 여기 생활 시작 here하지만 이것은 빨간 청어 인 것처럼 보입니다!안드로이드 BLE 쓰기 바이트 [] 부호없는 값을 포함하여

그래서 문제는 BLE 장치에 기록해야하는 값의 바이트 배열이 있다는 것입니다.

byte bytes[] = {0x04,0x08,0x0F,0x66,(byte)0x99,0x41,0x52,0x43,0x55,(byte)0xAA}; 
ch.setValue(bytes); 

내가 얻을이 배열의 출력 (음의 값을 기록) 로그인하는 경우 :

[4, 8, 15, 102, -103, 65, 82, 67, 85, -86] 

그러나 이론이의

는 값의 자바의 표현해야하며 인식에 영향을 미치지 않습니다를 블루투스 장치에 충돌했을 때의 값

이 값은 제조업체에서 필요하므로 변경할 수는 없지만 2 개의 값 중 하나가 부호없는 바이트/int 범위를 벗어났습니다. 이것이 장치가 isn 인 이유 인 것처럼 보입니다. 명령을 인식하지 못합니다.

특성에이 명령을 쓸 때 성공 코드 0을 얻지 만 장치가 명령을 실행하지 않습니다.

그래서 내 질문에 올바른 방법으로 보내고 있습니까? 또는 안에 포함 된 인식 된 값을 유지하기 위해 바이트 배열을 포맷/처리해야합니까?

대단히 감사합니다.

+0

'제 질문은 올바른 방법으로 보내고 있습니다.' 우리는 물론 그것을 알 수 없습니다. 코드가 보일 때만. – greenapps

+0

미안 해요, 내가 공기를 통해 보내기 전에 전혀 [byte]를 처리하지 않아야 함을 확인하고 있음을 의미합니다. –

답변

0

모든 것이 정확합니다. 바이트 값을 출력 할 때 10 진수의 부호있는 정수를 볼 수 있습니다. 각 바이트에 대해 올바른 8 비트를 계속 전송합니다.

+0

감사합니다. Emil, 예. 기록 된 결과가 base10이 될 것임을 알고 있습니다. 다른 이유로 생각할 수 있습니까? 이 명령이 BT Device에서 인식되지 않는 이유는 무엇입니까? 이 앱의 iOS 버전과 동일한 명령 양식을 Objective C에서 동일한 기기로 보내면 완벽하게 작동합니다. –

관련 문제