Jump to content
dario1133

Sinal dos dados

Recommended Posts

dario1133

Estou a receber dados via porta serie num programa em java.

Se o valor dos dados recebidos forem menores ou igual a 127, são apresentados correctamente.

Se forem superiores, aparece sempre 'FD', penso que tenha a ver com o sinal.

Tenho:

int data_0 = br.read();
data_0 = data_0 & 0x00FF;

Alguém sabe como contornar a situação?

Edited by brunoais
geshi

Share this post


Link to post
Share on other sites
brunoais

O int em java é sempre signed int.

Tenta arranjar maneira de, quem envia o dado, enviar um numero que, transformado em int, não dê um numero negativo.

Já agora, que classe é esse br?

Já agora... agora que eu vejo...

Será que em vez de:

0x00FF

Querias usar:

0xFF

?

Edited by brunoais

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
HappyHippyHippo

se queres com 1 byte, porque não usas o "byte" ?

byte data = br.read(); // <<--- dava jeito também saber o raio é o br ...


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
dario1133
br = new BufferedReader(isr);


InputStreamReader isr = new InputStreamReader(is);


is = sp.getInputStream();


SerialPort sp;

Edited by brunoais
geshi

Share this post


Link to post
Share on other sites
HappyHippyHippo

a função BufferedReader.next() devolve um inteiro, mas o que é lido é um valor de 2 bytes, isto porque é para ser usado na leitura de texto.

basta teres :

SerialPort sp;
InputStream is = sp.getInputStream();
int byte = is.read(); // foi lido somente 1 byte !!!


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.