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
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: