amador.Existem outro comando que le mais bytes por vez, readString(), mas salva em string,ou ainda parseInt() que só le valores numéricos.
Posto isto, voce terá que ler os valores que chegam na serial e transforam-los para a forma que precisa.
Pela tela que voce postou o seu equipamento deve internamente transforma-los em caracter e eles
devem chegar assim:
2B 49 4E 51 3A 32 30 31 33 3A 37 31 38 33 31 39 30 2C 31 46 30 30 2C 37 46 46 46 ...... >> 27 bytes
Você pode salva-los em uma matriz de 27 elementos, ex: MeuValor[27],
depois pegar os últimos 4 bytes transforma-los em Hexadecimal e acumula-los em uma única variável,depois transformando-os de hexadecimal para decimal.
Rui…
Adicionado por mineirin RV ao 12:37 em 1 outubro 2016
3362731/
Baud rate = 9600,8N2 ( 8 bits, none parity e 2 stop bits) é isso ??
É esse o formato dos bytes ?
http://allinbest.com/blog/1342k-animal-tag-fdxb-iso11784-reader-module/
1 2 3 4 5 6 7 8 9 10
1: 02 start number(fixed)
2: 10 bit HEX format ASCII card number, LSB first.
3: 4 bit HEX format ASCII country number, LSB first:
4: Data flag, 0 or 1
5: Animal flag, 0 or 1
6: reserved.
7: reserved.
8: Checksum, all 26bit ACSII HEX XOR。
9: Checksum Bitwise invert.
10: 03 end number (fixed)
For example: on the tag shows: “900250000023921”(Dec format 900 in the front,then card number 250000023921)
Module output:
02 31 37 31 41 39 32 35 33 41 33 34 38 33 30 30 31 30 30 30 30 30 30 30 30 30 30 07 F8 03
Equal ASCII:[1]171A9253A34830010000000000?
We can find card number is 171A9253A3, country number is 483 (LSB First)
Translate these number to Dec format,card number equal: 250000023921 ,
Country number equal 900
And “31 37 31 41 39 32 35 33 41 33 34 38 33 30 30 31 30 30 30 30 30 30 30 30 30 30” made all XOR caculate,we got the answer is 07 (check sum result) . F8 is 07’s bitwise invert result.
…