JavaComm + unsigned byte

3 respostas
G

Estou trabalhando com a JavaComm para comunicar na porta serial com impressoras fiscais, e agora achei um problema.
O Java trabalha o con signed byte e as impressoras com unsigned byte, ou seja quando o byte passa de 128 ele fica negativo, e a impressora interpreta isto como um erro.
Olhei ums codigos de comunicação direta com impressora fiscal espalhados por ai, e todos tem este mesmo erro, mas como acontece raramente parece q nem dero bola.
Se alguem tiver uma solução ajudaria muito,

3 Respostas

W

Você pode trabalhar com int para desprezar o bit de sinal.

public static int UnsignedByteToInt(byte b) { return (b & 0xff); }

G

Já fiz isto, antes de transmitir a api faz a conversão para byte.

rafael_next

Olá Pessoal, estou com o mesmo problema, alguem já conseguiu resolver esse problema??

Grato!

Criado 21 de fevereiro de 2007
Ultima resposta 25 de fev. de 2008
Respostas 3
Participantes 3