public static final Byte[] enviaHeader = new Byte[] { 0x63, 0x00, 0x01, 0xD8 }
This code give an error on 0xD8, saying that cannot convert int to Byte… How can i do this?
public static final Byte[] enviaHeader = new Byte[] { 0x63, 0x00, 0x01, 0xD8 }
This code give an error on 0xD8, saying that cannot convert int to Byte… How can i do this?
Claro que não, um int não cabe em um byte.
Se você executar o comando System.out.println(0xD8) verá que o valor é 216 e não cabe em um Byte o máximo é 127
Realmente o problema é de precisão, porém D8 caberia em um byte sem sinal. Se for o caso pode tentar algo assim:
byte b = (byte)0xD8;
Tem casos que tenho que enviar “FF”, então não vou conseguir de jeito nenhum com Byte b = 0xFF?
Ou com casting funciona?
O problema é que a função que envia pra serial envia bytes, não tem como enviar int…
Qual seu problema com casting?
byte b = (byte) 0xFF;
Problema nenhum… acabei usando casting mesmo e até tinha esquecido desse tópico…rs
Entendi que o problema é que byte não vai de 0 a 255, mas sim de -128 ate +128. Isso meu colega resolve convertendo na linguagem C depois do download dos dados…