Página 1 de 1
Copiar palavra do LCD para uma variavel

Enviado:
24 Mar 2010 11:07
por buiz
Olá a todos,
Estou desenvolvendo um projeto no qual eu precisarei incluir o nome do cliente em cada um dos equipamentos, mas não quero ficar alterando o programa e gravando individualmente.
Para isso estou pensando em criar um campo de programação dentro do meu firmware fixo, onde eu possa escrever letra a letra no LCD usando as teclas do equipamento como se fosse num celular.
E após o nome estar completo transferir ele para uma variavel e salvar.
Mas minha duvida é, como copiar informações direto do LCD para uma variavel.
Exemplo eu escrevo: MARCOS no LCD
e atribuo isso a uma unica variavel e salvo na eeprom.
Alguem tem alguma ideia
Estou programando em C.

Enviado:
24 Mar 2010 11:13
por buiz
Resumindo:
Seria tipo copiar tudo o que esta na linha 1 do LCD para uma variavel e o que esta na linha 2 para outra variavel.

Enviado:
24 Mar 2010 11:18
por dreher
Não seria melhor ir escrevendo isso diretamente em uma string, e ir exibindo a string no lcd?
ai depois da escrita a variavel ja tem o valor que está no LCD

Enviado:
24 Mar 2010 11:38
por buiz
Ok,
Mas isso se eu estivesse fazendo via serial? Correto?
O problema é que as vezes tenho que alterar isso no local da instalação diretamente no equipamento, ai que eu me perdi em como fazer para ir escrevendo esta string aos poucos passo a passo.

Enviado:
24 Mar 2010 12:03
por MOR_AL
No seu firmware reserve um espaço de memória (variável string) com o número de, digamos 10 caracteres. Faça uma rotina que ao ir digitando no seu aparelho, estes caracteres seriam inseridos no LCD. Da string para o LCD.
Claro que teria como avançar e retroceder o cursor etc.
Eu entendi que foi isso que o Dreher informou.
MOR_AL

Enviado:
24 Mar 2010 12:53
por buiz
Dreher e Mor_al
A rotina de compor a string utilizando cursor ja esta concluida.
Ja é possivel formar a palavra que eu quiser até 30 caracteres em uma linha.
Agora: como formar esta string adicinando um caracter de cada vez que estou em duvida.
A rotina que eu criei disponho um caracter por vez dislocando uma casa no eixo X.
Como ja ir atribuindo estes caracteres para uma string.
Exemplo:
Eu entro com
C
A
S
A
Um caracter por vez,
Agora;
C + A + S + A
igual a String: CASA
Ai está a minha duvida, e esta minha string terá que ser formada de no minimo 30 caracteres.
C1+C2+C3+........C30.

Enviado:
24 Mar 2010 13:28
por dreher
tens que fazer assim:
(em "C")
- Código: Selecionar todos
char nome_do_cliente[30];
char indexador, tecla;
indexador=0;
while (1)
{
tecla=rotina_que_le_o_teclado();
if (tecla é valida)
{
nome_do_cliente[indexador]=tecla;
indexador++;
lcd_out(1,1,nome_do_cliente);
}
if (indexador>=30 | tecla=cancelar) break;
}
No final voce tera a variavel nome_do_cliente com o valor que está no lcd

Enviado:
24 Mar 2010 16:01
por buiz
Valeu Dreher,
Deu certo, apliquei ao meu programa e acertei alguns detelhes e funcionou beleza.
Obrigado pela dica.
E obrigado ao Mor_al tambem!
Um abraço.