Página 1 de 1

Copiar palavra do LCD para uma variavel

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

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

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

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

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

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

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

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