• 7 odgovora
  • 4.543 pregleda
MikroC problem, ispisivanje integera na LCD 23.12.2014. u 20:46 · pre 144 meseci #1
Postovanje, imam jedan problem. Pokusavam da ispisem integer na LCD na sledeci nacin.

char ispisati;
int broj=5;

IntToStr(broj, ispisati);
Lcd_Out(1,1,ispisati);

Medjutim jedinica se ne ispisuje na pocetku ekrana kao sto ocekujem vec negde na sredini.
Da li neko zna zbog cega se ovo desava i kako da resim?

Unapred hvala.
Re: MikroC problem, ispisivanje integera na LCD 24.12.2014. u 05:59 · pre 144 meseci #2
Citat:
Postovanje, imam jedan problem. Pokusavam da ispisem integer na LCD na sledeci nacin.

char ispisati;
int broj=5;

IntToStr(broj, ispisati);
Lcd_Out(1,1,ispisati);

Medjutim jedinica se ne ispisuje na pocetku ekrana kao sto ocekujem vec negde na sredini.
Da li neko zna zbog cega se ovo desava i kako da resim?

Unapred hvala.


Tako radi funkcija IntToStr MikroC kompajlera:
"Converts input signed integer number to a string. The output string has fixed width of 7 characters including null character at the end (string termination). The output string is right justified and the remaining positions on the left (if any) are filled with blanks."

Ako ispis treba da bude levo formatiran pre poziva funkcije Lcd_Out treba izbaciti vodeće blank karaktere. Ovde ima dosta primera kako se to može uraditi http://stackoverflow.com/quest...ving-spaces-from-a-string-in-c.





[Ovu poruku je menjao uart dana 24.12.2014. u 07:12 GMT+1]
Re: MikroC problem, ispisivanje integera na LCD 24.12.2014. u 09:08 · pre 144 meseci #4
Citat:
uart:
Citat:
Postovanje, imam jedan problem. Pokusavam da ispisem integer na LCD na sledeci nacin.

char ispisati;
int broj=5;

IntToStr(broj, ispisati);
Lcd_Out(1,1,ispisati);

Medjutim jedinica se ne ispisuje na pocetku ekrana kao sto ocekujem vec negde na sredini.
Da li neko zna zbog cega se ovo desava i kako da resim?

Unapred hvala.


Tako radi funkcija IntToStr MikroC kompajlera:
"Converts input signed integer number to a string. The output string has fixed width of 7 characters including null character at the end (string termination). The output string is right justified and the remaining positions on the left (if any) are filled with blanks."

Ako ispis treba da bude levo formatiran pre poziva funkcije Lcd_Out treba izbaciti vodeće blank karaktere. Ovde ima dosta primera kako se to može uraditi http://stackoverflow.com/quest...ving-spaces-from-a-string-in-c.





[Ovu poruku je menjao uart dana 24.12.2014. u 07:12 GMT+1]


MikroC ima funkciju za brisanje vodećih blank karaktera Ltrim

Lcd_Out(1,1,Ltrim(ispisati))
Re: MikroC problem, ispisivanje integera na LCD 24.12.2014. u 12:27 · pre 144 meseci #5
Pokusao sam da iskoristim Ltrim funkciju i dobijam sledecu gresku:

73 324 Undeclared identifier 'Ltrim' in expression LED_Blinking.c
73 307 Illegal typecast 'can not convert to pointer' '' LED_Blinking.c
0 102 Finished (with errors): 24 Dec 2014, 13:16:50 LED_Blinking.mcp51


Probao sam dve funkcije sa stackoverflow-a i dobijam gresku, verovatno nesto radim pogresno...


0 121 Compilation Started LED_Blinking.c
29 374 Const expression expected LED_Blinking.c
86 390 Illegal expression with void LED_Blinking.c
0 102 Finished (with errors): 24 Dec 2014, 13:23:23 LED_Blinking.mcp51
Re: MikroC problem, ispisivanje integera na LCD 24.12.2014. u 18:59 · pre 144 meseci #6
Nasao sam funkciju koja radi

Code:

void TrimLeft(char *str) {
char count  = 1;
  while (*str++ != 0) {
         if (*str != 32) {
            *(str - count--) = *str;
         }
         count++;
  }

}


Hvala Vam :)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme