LCD com mikroc

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

LCD com mikroc

Mensagempor Controladores » 29 Jan 2009 13:07

Boa tarde, caro colegas

Estou com um problema para enviar uma variavel do tipo inteira para o display de LCD, necessito envia-la apos um texto.
Como faço isso?
Estou utilizando os comandos da biblioteca do mikroc para manipular o display.

Obrigado
Controladores
Byte
 
Mensagens: 180
Registrado em: 05 Jan 2007 17:10

Mensagempor ffcprog » 29 Jan 2009 13:10

eim ?
ta convertendo para STR ?

De um EX: de como está fazendo....
ffcprog
Byte
 
Mensagens: 145
Registrado em: 14 Fev 2007 23:16

Mensagempor Controladores » 29 Jan 2009 13:22

ffcprog escreveu:eim ?
ta convertendo para STR ?

De um EX: de como está fazendo....


Estou converteno mas quando eu mando fica um espaço em branco antes do numero.
Controladores
Byte
 
Mensagens: 180
Registrado em: 05 Jan 2007 17:10

Mensagempor joao » 29 Jan 2009 13:33

Mande o comando usado para fazer essa conversação.
Apenas vendo o que vc escreveu, parece que vc fez certo, mas está deixando passar uma coisa bem pequena.

PS: Não precisa passar todo o código. Apenas a linha que vc está convertendo e se puder a linha que está enviando para o PIC. Se for o caso, mude o nome das variáveis! ;)

[]'s
Avatar do usuário
joao
Byte
 
Mensagens: 463
Registrado em: 17 Out 2006 08:21

Mensagempor Controladores » 29 Jan 2009 13:34

Controladores escreveu:
ffcprog escreveu:eim ?
ta convertendo para STR ?

De um EX: de como está fazendo....


Estou converteno mas quando eu mando fica um espaço em branco antes do numero.

O codigo é este:

IntToStr(te, txt);
Lcd_Out(1, 1, strcat(text,txt));

obrigado.
Controladores
Byte
 
Mensagens: 180
Registrado em: 05 Jan 2007 17:10

Mensagempor ffcprog » 29 Jan 2009 13:56

Function creates an output string out of a signed number (numerical value of int type). Output string has fixed width of 6 characters; remaining positions on the left (if any) are filled with blanks.

The output string should be at least 7 characters in size.

int j = -4220;
char txt[7];
//...
IntToStr(j, txt); // txt is " -4220" (one blank here)

ffcprog
ffcprog
Byte
 
Mensagens: 145
Registrado em: 14 Fev 2007 23:16

Mensagempor Controladores » 29 Jan 2009 14:02

ffcprog escreveu:Function creates an output string out of a signed number (numerical value of int type). Output string has fixed width of 6 characters; remaining positions on the left (if any) are filled with blanks.

The output string should be at least 7 characters in size.

int j = -4220;
char txt[7];
//...
IntToStr(j, txt); // txt is " -4220" (one blank here)

ffcprog

mas como eu faço para que este espaço em branco não apareça?
Controladores
Byte
 
Mensagens: 180
Registrado em: 05 Jan 2007 17:10

Mensagempor ffcprog » 29 Jan 2009 14:12

oras.... escreve alguma coisa nele..rsrs
você gostaria de espaço a esquerda ou a direita ? ou simplesmente quer que fique com zeros ?

ffcprog
ffcprog
Byte
 
Mensagens: 145
Registrado em: 14 Fev 2007 23:16

Mensagempor joao » 29 Jan 2009 14:14

Bem, de qualquer maneira, se vc fizer isso, irá resolver(Caso o problema esteja realmente no seu txt):

IntToStr(te, txt);
txt++;
Lcd_Out(1, 1, strcat(text,txt));

Como é fixo 6 posiçoes. Pode ser que vc tenha mais do que 1 espaço em branco, dai faz isso no lugar do negrito acima

for(;txt[0] == ' ';txt++) ; //Fica fazendo loop e incrementando posição até achar algo diferente de espaço

Nem preciso dizer que vc irá perder a posição inicial dessa sua variavel! Então tome cuidado com isso. Se for o caso, jogue para uma variavel temporaria, ande as casas na variavel temporária e dai vc não perdera a posição inicial na sua variavel txt.

[]'s
Avatar do usuário
joao
Byte
 
Mensagens: 463
Registrado em: 17 Out 2006 08:21

Mensagempor Controladores » 05 Fev 2009 07:26

Muito obrigado pela ajuda deu certo aqui.


joao escreveu:Bem, de qualquer maneira, se vc fizer isso, irá resolver(Caso o problema esteja realmente no seu txt):

IntToStr(te, txt);
txt++;
Lcd_Out(1, 1, strcat(text,txt));

Como é fixo 6 posiçoes. Pode ser que vc tenha mais do que 1 espaço em branco, dai faz isso no lugar do negrito acima

for(;txt[0] == ' ';txt++) ; //Fica fazendo loop e incrementando posição até achar algo diferente de espaço

Nem preciso dizer que vc irá perder a posição inicial dessa sua variavel! Então tome cuidado com isso. Se for o caso, jogue para uma variavel temporaria, ande as casas na variavel temporária e dai vc não perdera a posição inicial na sua variavel txt.

[]'s
Controladores
Byte
 
Mensagens: 180
Registrado em: 05 Jan 2007 17:10


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x