Maurício escreveu:Mas, desenvolver a tal da IHM é o maior terror da programação!!Não fosse isso, as coisas seriam bem mais simples!
Putz! É a mais cruel realidade. Estou apanhando prá burro.
Tentei ir pelo caminho apontado pelo Maurício, mas encontrei uma dificuldade cabulosa: Não consigo utilizar um campo de edição de tamanho fixo, do tipo [XXXXXX], porque ao converter de LONG para STRING, decrementar o dígito mais significativo até chegar a zero, e depois converter de STRING para LONG, na próxima chamada à função o que ocorre é um deslocamento para a esquerda da string exibida no LCD, porque como o número perdeu o dígito mais significativo, uma nova conversão de LONG para STRING, vai ter um dígito a menos.
Para exemplificar, imaginem o seguinte:
- Seja inicialmente o valor de num = 123456, ao chamar a função "decrementar" (análoga à incrementar apresentada pelo Maurício, e feitas as adequações necessárias para compilar com o WinAVR), num assumirá o valor 023456, pois decrementei o dígito mais significativo.
- Quando chamar a função decrementar novamente, a string exibida será 23456, ou seja perdi o zero à esquerda e o campo fixo de 6 dígitos agora terá apenas 5.
Cara, que parto !

Vou tentar uma mistureba de idéias, ... aliás, vai aí uma sugestão para os idealizadores, desenvolvedores, colaboradores e demais desocupados que bolaram o WinAVR... Por que não publicam um release incorporando funções de edição de variáveis? Já que existem funções de manipulação, de conversão e o escambau a quatro, que tal queimar neurônios jovens nesse sentido (os meus já estão velinhos e cansados, hehehe).
À luta !