"RELP " Converter método (getKey ) de ASCII para String

#1

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();Codigo%20de%20barras
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();
}

0 Likes

#2

Cria um string tipo :

String meuString = “”;
dai :

meuString = meuString + ‘A’;

meuString = meuString + ‘b’;

meuString = meuString + ‘3’;

assim voce vai ter

meuString = “Ab3”

0 Likes

#3

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?

0 Likes

#4

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

0 Likes