Formato de Exibição da função de uma DLL

consegui fazer funcionar mostrar a versao da dll usando byte[] como tipo de variavel…mas agora me surgiu outra duvida
fiz o seguinte código em um botao para pegar os valores recebidos pelo hardware

conta quantos bytes ha no buffer de recepçao

dll.ComGetnRx(3);  

1 parametro eh o canal de comunicação, 2 parametro variavel q vai receber os bytes do buffer de recepção, 3 parametro o numero de bytes que serao pegos do buffer de recepção

dll.ComRxData(3, sBuffer,(int) Resultado);  
byte[] sBuffer = new byte[256];   
      long Resultado = dll.ComGetnRx(3);   
  
      dll.ComRxData(3, sBuffer,(int) Resultado);   
  
      String ValorBuffer = Native.toString(sBuffer);   
       
      System.out.println(ValorBuffer);   
      System.out.println(Resultado);  

só q quando mando executar ele retorna esse valor pra mim

þþ??¾???¾ÿ
19

oq esta acontecendo de errado

O que você esperava?

eu esperava os valores (codigo)(entrada/saida)(mes ano dia)(segundo minuto hora)

0003,0,08,12,04,16,32,28

tem um exemplo em delphi mas nao consigo ver os codigos fontes q traz os valores corretos numa string

depois eh soh i formatando

mas em java retorna esses caracteres estranhos

é alguma codificação??

Em 19 caracteres cabe tudo isso? Será que os dados estão vindo em binário? Consulte o fabricante porque isso ainda está muito esquisito.

pior q o fabricante num da suporte algum ainda mais pra desenvolvimento java

eu tenho a documentaçao da DLL posso te mandar pra vc dar uma olhada?

esse eh a funcao de conexao

ComOpen (int nCanal, Numero do canal de comunicacao
int nBaud, // Taxa de comunicacao
int nBits, // Numero de bits por caractere: 7 ou 8
int nStop, // Numero de stop-bits: 1 ou 2
int nParid, // Tipo de paridade
int nTxFlow, // Tipo de controle de fluxo na transmissao
int nRxFlow, // Tipo de controle de fluxo na recepcao
unsigned int wTxBuffer, // Tamanho do buffer de transmissao
unsigned int wRxBuffer // Tamanho do buffer de recepcao
);

Com_RxData (nCanal, @cBuffer, wBytes)
Descrição
A função ?Com_RxData? retira um ou mais bytes do buffer de recepção do canal especificado e coloca no buffer de destino
apontado por ?cBuffer?.
O argumento ‘nCanal’ especifica o canal de comunicação, possibilita o uso de no máximo 16 canais (COM1 a COM16).
O argumento tipo caractere ?cBuffer? é passado por referência, para retirar a mensagem que está armazenada no buffer de
recepção.
O argumento ?wBytes? informa o número de caracteres a serem retirados do buffer de recepção e guardados no buffer de
destino ?cBuffer?.
Valor Retornado
A função retorna zero quando sua execução for bem sucedida, caso contrário retorna um código de erro sempre menor do que
zero. O significado de cada código de erro retornado é fornecido no item ?Códigos de Erro?.

eu nunca trabalhei com comunicação com hardware to perdido :shock: