Função de LCD
2 participantes
Página 1 de 1
Função de LCD
Queria fazer uma função que "captasse" o botao que o usuario escolheu e mostrasse no display de ldc o valor digitado.
Os botões são de 0 a 9.
Fiz e refiz essa função, mas não está dando certo. Alguem pode me ajudar??
Os botões são de 0 a 9.
Fiz e refiz essa função, mas não está dando certo. Alguem pode me ajudar??
- Código:
void CaptaEscrita (usuario * PontUsuario)
{ // Essa função vai captar quais os botões o usuario escreveu e colocar os numeros correspondentes no display
char aux[7];
int i;
SetDDRamAddr (0x40);
for (i =0; i<=5; i++)
{
while ( botao7 !=1 && botao8 != 1 ) {};
if (botao0==1) { Delay10KTCYx(150); aux[i]=0;} // cada um dos if capta a entrada de um botao e seta o aux. Este Aux será copiado em um vetor de 6 posições.
else if (botao1==1) { Delay10KTCYx(150); aux[i]=1;} // para que seja criada a senha, ou para a senha digitada seja comparada com uma das presentes na eprom
else if (botao2==1) { Delay10KTCYx(150); aux[i]=2;}
else if (botao3==1) { Delay10KTCYx(150); aux[i]=3;}
else if (botao4==1) { Delay10KTCYx(150); aux[i]=4;}
else if (botao5==1) { Delay10KTCYx(150); aux[i]=5;}
else if (botao6==1) { Delay10KTCYx(150); aux[i]=6;}
else if (botao7==1) { Delay10KTCYx(150); aux[i]=7;}
else if (botao8==1) { Delay10KTCYx(150); aux[i]=8;}
else if (botao9==1) { Delay10KTCYx(150); aux[i]=9;}
else {};
PontUsuario->senha[i] = aux[i];
putrsXLCD(aux[i]);
aux[6] = '/0';
}; // fim do for
while (botaoOK ==0){};
} // fim da função CaptaEscrita
jovimocar- Mensagens : 1
Data de inscrição : 28/05/2010
Re: Função de LCD
Olá Jovimocar,
Primeiramente eu gostaria de pedir que sempre que for postar no forum um pedaço de código colocar ele em uma janela de código. Para isto basta colocar [...code] no inicio do código e [/...code] no final do código. (apague os "..."). Isto faz com que o código fique mais organizado. Mudei para você desta vez ok?
Vamos lá:
Você usou a biblioteca de LCD que disponibilizamos no curso e no forum no link https://picminas.forumeiros.com/firmware-f2/uso-do-lcd-tutorial-t25.htm certo?.
Eu li, reli, li novamente e encontrei.
Ele não está escrevendo no LCD porque você usa a função putrsXLCD e esta função escreve um string da memória de programa no LCD. Você esta mandando um caractere da memória de dados como parâmetro da função.
Então é fácil resolver. É só trocar a funçao putrsXLCD(aux[i]); por WriteDataXLCD(aux[i]);
Espero ter ajudado.
Primeiramente eu gostaria de pedir que sempre que for postar no forum um pedaço de código colocar ele em uma janela de código. Para isto basta colocar [...code] no inicio do código e [/...code] no final do código. (apague os "..."). Isto faz com que o código fique mais organizado. Mudei para você desta vez ok?
Vamos lá:
Você usou a biblioteca de LCD que disponibilizamos no curso e no forum no link https://picminas.forumeiros.com/firmware-f2/uso-do-lcd-tutorial-t25.htm certo?.
Eu li, reli, li novamente e encontrei.
Ele não está escrevendo no LCD porque você usa a função putrsXLCD e esta função escreve um string da memória de programa no LCD. Você esta mandando um caractere da memória de dados como parâmetro da função.
Então é fácil resolver. É só trocar a funçao putrsXLCD(aux[i]); por WriteDataXLCD(aux[i]);
Espero ter ajudado.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|