Estou aprendendo a usar o MikroC, fiz um programa simples que escreve no LCD 16x2.
- Código: Selecionar todos
int tes;
char text[6];
// Lcd pinout settings
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D7 at RB3_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D4 at RB0_bit;
// Pin direction
sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D7_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB0_bit;
void main() {
TRISB = 0;
Lcd_Init(); //Inicializa o LCD
Lcd_Cmd(_LCD_CURSOR_OFF); //Desliga o Cursor
while(1)
{
tes=0;
while (tes<255) //Conta de 0 a 255
{
Delay_ms(100); //Espera 100mS
tes++; //Incrementa
IntToStr(tes,text); //Converte tes em uma String
Lcd_Cmd(_LCD_CLEAR); //Limpa o LCD
Lcd_Out(0,1,"TESTE"); //Escreve TESTE na primeira linha e na primeira posição
Lcd_Out(2,1,text); //Escreve o valor de "tes" na segunda linha e na primeira posição
}//while (tes<255)
}//while(1)
}//main
O problema começa, quando eu quero mostrar o valor de uma variavél, "tes" no LCD, mostra com espaços na frente do número, não respeitando a posição passada para função Lcd_Out.
Como concateno uma string, com um valor de uma variavél ?
Por exemplo:
Temp.: XXC ou Temp.: 20C
Temp. e C serão uma string, e o XX valor de uma variavél.
Estou simulando no Proteus e usando o MikroC Pro Versão 1.65
Agradeço a todos
Abraço
André Cruz