Saudações colega paz seja com todos
Necessito converter um padrão de ASCII gerado pelo método (getKey) para uma string
o meu programa atual lê um código de barras do arquivo (um) em anexo e retorna o código (48 19) na porta serial conforme a imagem do anexo dois. O código utilizado no Arduino DUE esta no anexo 3. Alguem poderia por favor me mostrar como aplicar a regra de conversão que segue abaixo no meu código por favor?
Regra:
Você utilizar o método método toString(), para converter códigos ASCII para String de acordo com o código abaixo:
int i = 64;
Arquivo 1 ******
String aChar = new Character(( char )i).toString();
Arquivo 2
Arquivo 3 Codigo INO
// Require keyboard control library
#include <KeyboardController.h>
#include <due_can.h>
// Initialize USB Controller
USBHost usb;
// Attach keyboard controller to USB
KeyboardController keyboard(usb);
void keyPressed() {
printKey();
}
void printKey() {
// getOemKey() returns the OEM-code associated with the key
Serial.print(keyboard.getKey());
}
void setup()
{
Serial.begin(9600);
while(!Serial);
}
void loop()
{
// Process USB tasks
usb.Task();
}
Cria um string tipo :
String meuString = “”;
dai :
meuString = meuString + ‘A’;
meuString = meuString + ‘b’;
meuString = meuString + ‘3’;
assim voce vai ter
meuString = “Ab3”
Bom dia colega muito obrigado pela atenção provavelmente eu não tenha explicado corretamente o retorno da leitura do ASCII para o código de barra com valor 0 e de dois decimais com 4 dígitos eu preciso que ele retorne as penas o (zero) do código de barras como faço isso?
O ASCII e apenas associar uma letra com uma combinação de 8 bits
Sendo a letra ‘A’ em ASCII = 01000001. . Então no fundo você está manipulando sempre um byte. Então podemos dizer que :
01000001 salvo como char vira ‘A’
01000001 salvo com int vira o número 65
‘A’ + ‘A’ = ‘é’
Porque 65+65 = 130
e tudo a mesma coisa!
No caso de um Zero em ASCII ele e o valor
‘0’= 00110000 =48
‘1’= 00110001 =49
‘2’= 00110010 =50
‘3’= 00110011= 51
Então se você pode fazer assim :
‘0’ - ‘0’ = 0
Porque 48-48= 0
Digamos No caso do ASCII ‘3’
‘3’ - ‘0’ = 3
Porque 51-4=3
Com isso você pode somar o valor multiplicado pela poscisao dos chars uma vez que virem inteiros.
Tipo no seu 4819 = (4x1000)+(8x100)+(1x10)+9=4819
E no caso de so zero (0x1000)+(0x100)+(0x10)+0 =0