picminas
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Função de LCD

2 participantes

Ir para baixo

Função de LCD Empty Função de LCD

Mensagem  jovimocar Sex Jun 11, 2010 12:15 am

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??

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

Ir para o topo Ir para baixo

Função de LCD Empty Re: Função de LCD

Mensagem  Bruno S. Avelar Seg Jun 14, 2010 9:20 am

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.
Bruno S. Avelar
Bruno S. Avelar
Admin

Mensagens : 74
Data de inscrição : 26/07/2009
Idade : 39
Localização : Belo Horizonte MG

https://picminas.forumeiros.com

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos