Página 1 de 1

Ajustando o LCD

MensagemEnviado: 03 Ago 2008 09:12
por Pask
Amigos, estou desenvolvendo uma aplicação na qual uma tensão é indicada no display LCD. Porém está ocorrendo um "bug" que não estou conseguindo resolver: A frase no LCD é: "Tensão=XX V". Quando o valor indicado está entre 0 e 99, fica tudo certo; quando o valor ultrapassa 99.9, o símbolo "V" é automaticamente deslocado para a direita como deve ser. No entanto, quando a tensão cai abaixo de 100, o símbolo "V" salta uma casa para a esquerda e permanece a sua cópia no lugar onde ele estava antes. Vejam os exemplos abaixo:

"Tensao=57.3 V" => normal

"Tensao=123.4 V" => normal, mas quando baixa...

"Tensao=99 V V" => errado !!! Por que dois V's ??? Como eliminar este bug?

Obrigado.

MensagemEnviado: 03 Ago 2008 10:36
por zielpunkt
Se estiver programando em C, usando printf, pode formatar para que a saida sempre sobrescreva a amostra anterior, com XXX.X, por exemplo (leia sobre formatação no printf). Deve aparecer algo como 099.0V. Em qualquer caso, pode também dar um erase nos campos (imprimir espaços) e depois atualizar o display com o novo valor. Isso não é bug, significa apenas que o display mantém o escrito até ser reescrito.


Abço.

MensagemEnviado: 03 Ago 2008 17:53
por turuna
Para evitar este tipo de problema, eu sempre coloco pelo menos dois espaços em branco após escrever o último caracter.
Turuna

MensagemEnviado: 03 Ago 2008 18:28
por Pask
Resolvi o problema colocando uma instrução para limpar o lcd e posicionando novamente o cursor no ponto desejado, usando uma instrução condicional de comparação do valor lido pelo CAD. Agora está correto. Valeu...

MensagemEnviado: 04 Ago 2008 09:38
por xultz
Mas você entendeu o motivo do bug? Caso contrário, é só pedir que eu te explico. Passei por isso várias vezes :)

MensagemEnviado: 04 Ago 2008 10:33
por Pask
Me explique melhor sobre o bug.