RTV forum PL | NewsGroups PL

Jak wysłać wartość zmiennej int jako tekst w procedurze WriteText dla AT89S8252?

programowanie '51 w C

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak wysłać wartość zmiennej int jako tekst w procedurze WriteText dla AT89S8252?

Psychik
Guest

Sun Nov 20, 2005 10:36 am   



witam.

pisze program w C na at89s8252. sa procedury:

void WriteText(char *S)
{
while (*S)
{
LcdWrite(*S);
S++;
}
}

void main(void)
{
WriteText("hello world!");
}

wszystko jest ok, ale chcialbym w ciagu *S wyslac liczbe, ktora jest
wartoscia jakiejsc zmiennej int. wymyslilem na to sposob, ale jest dosc
dlugi, bo dziele liczbe i zamienia kazda cyfre liczb tysiecy, setek,
dzisiatek, jednostek, itd na kod ascii i tak wysylam. zastanawiam sie,
czy mozna "przepisac" wartosci np. zmiennej int k = 1234567 do uzycia w
miejscu "hello world!" w powyzszej procedurze?
prosze o pomoc i sugestie :)

--
pozdrawiam
Psychik

Fishman
Guest

Sun Nov 20, 2005 11:41 am   



Użytkownik "Psychik" napisał w wiadomości

Quote:
wszystko jest ok, ale chcialbym w ciagu *S wyslac liczbe, ktora jest
wartoscia jakiejsc zmiennej int. wymyslilem na to sposob, ale jest dosc
dlugi, bo dziele liczbe i zamienia kazda cyfre liczb tysiecy, setek,
dzisiatek, jednostek, itd na kod ascii i tak wysylam. zastanawiam sie, czy
mozna "przepisac" wartosci np. zmiennej int k = 1234567 do uzycia w
miejscu "hello world!" w powyzszej procedurze?
prosze o pomoc i sugestie Smile

A masz dość miejsca w pamięci programu na implementację funkcji
printf()/sprintf()? No to nie masz się nad czym zastanawiać ;)

Fishman

Piotrek Sz.
Guest

Sun Nov 20, 2005 12:39 pm   



Psychik napisał(a):

Quote:
witam.

pisze program w C na at89s8252. sa procedury:

void WriteText(char *S)
{
while (*S)
{
LcdWrite(*S);
S++;
}
}

void main(void)
{
WriteText("hello world!");
}

wszystko jest ok, ale chcialbym w ciagu *S wyslac liczbe, ktora jest
wartoscia jakiejsc zmiennej int. wymyslilem na to sposob, ale jest dosc

Zainteresuj się funkcją itoa()

Quote:
dlugi, bo dziele liczbe i zamienia kazda cyfre liczb tysiecy, setek,
dzisiatek, jednostek, itd na kod ascii i tak wysylam. zastanawiam sie,
czy mozna "przepisac" wartosci np. zmiennej int k = 1234567 do uzycia w
miejscu "hello world!" w powyzszej procedurze?
prosze o pomoc i sugestie :)

A jak chcesz w zmiennej typu "int" czy "unsigned int",upchnąć 1234567 ?


Pozdrawiam
Piotrek


--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Psychik
Guest

Sun Nov 20, 2005 1:27 pm   



Piotrek Sz. napisał(a):

Quote:
Zainteresuj się funkcją itoa()

to jest funkcja ktorej szukam, ALE...

"WARNING 206 IN LINE 148 OF moje2.c " 'itoa': missing function prototype

czy to nie jest czasem funkcja obecna wylacznie w C++ ?

Quote:
A jak chcesz w zmiennej typu "int" czy "unsigned int",upchnąć 1234567 ?

no tak... chodzilo o liczbe wieksza niz 9 (dziesienie) :)

--
Psychik

J.F.
Guest

Sun Nov 20, 2005 1:56 pm   



On Sun, 20 Nov 2005 14:27:53 +0100, Psychik wrote:
Quote:
Piotrek Sz. napisał(a):
Zainteresuj się funkcją itoa()
to jest funkcja ktorej szukam, ALE...

"WARNING 206 IN LINE 148 OF moje2.c " 'itoa': missing function prototype

czy to nie jest czasem funkcja obecna wylacznie w C++ ?

Nie, to bardzo stara funkcja.
Ale przeszukaj pliki .h - bo najwyrazniej zapomniales
dolaczyc tego w ktorym jest zaprototypowana.

J.

Psychik
Guest

Sun Nov 20, 2005 2:30 pm   



J.F. napisał(a):

Quote:
Nie, to bardzo stara funkcja.
Ale przeszukaj pliki .h - bo najwyrazniej zapomniales
dolaczyc tego w ktorym jest zaprototypowana.

wg. http://www.mkssoftware.com/docs/man3/itoa.3.asp wize, ze
zainkludowalem to co trzeba. no ale deklaracji itoa ni ma...

--
Psychik

Psychik
Guest

Sun Nov 20, 2005 2:32 pm   



Piotrek Sz. napisał(a):

Quote:
Kurde !!! Pomyliłem się Sad
itoa() jest w AVR-GCC , jako funkcja niestandardowa , natomiast w Keil-u i
SDCC takowej nie znalazłem Sad Przyjdzie Ci skorzystać z (s)pritf() lub napisać
własną.

wlasna juz mam, ale dlugawa i strasznie toporna, wiec szukam czegos
o czym nie wiem :)

--
Psychik

Wojtek Kaniewski
Guest

Sun Nov 20, 2005 2:55 pm   



Psychik napisał(a):
Quote:
wg. http://www.mkssoftware.com/docs/man3/itoa.3.asp wize, ze
zainkludowalem to co trzeba. no ale deklaracji itoa ni ma...

dlaczego powołujesz się na dokumentację funkcji uniksowych? zwłaszcza,
że wyraźnie piszą, że ta funkcja jest rozszerzeniem API dostępnym w
produktach danej firmy.

itoa() nie jest standardową funkcją C. jedni ją implementują po swojemu,
inni w ogóle. jeśli napisałeś własną, to trzymaj się jej, póki nie
będziesz miał prawdziwych, a nie potencjalnych, problemów z zajętością
pamięci albo wydajnością.

w.

Piotrek Sz.
Guest

Sun Nov 20, 2005 3:07 pm   



J.F. napisał(a):

Quote:
On Sun, 20 Nov 2005 14:27:53 +0100, Psychik wrote:
Piotrek Sz. napisał(a):
Zainteresuj się funkcją itoa()
to jest funkcja ktorej szukam, ALE...

"WARNING 206 IN LINE 148 OF moje2.c " 'itoa': missing function prototype

czy to nie jest czasem funkcja obecna wylacznie w C++ ?

Nie, to bardzo stara funkcja.
Ale przeszukaj pliki .h - bo najwyrazniej zapomniales
dolaczyc tego w ktorym jest zaprototypowana.

J.


Kurde !!! Pomyliłem się Sad
itoa() jest w AVR-GCC , jako funkcja niestandardowa , natomiast w Keil-u i
SDCC takowej nie znalazłem Sad Przyjdzie Ci skorzystać z (s)pritf() lub napisać
własną.

Piotrek


--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

J.F.
Guest

Sun Nov 20, 2005 3:31 pm   



On Sun, 20 Nov 2005 15:30:05 +0100, Psychik wrote:
Quote:
J.F. napisał(a):
Nie, to bardzo stara funkcja.
Ale przeszukaj pliki .h - bo najwyrazniej zapomniales
dolaczyc tego w ktorym jest zaprototypowana.

wg. http://www.mkssoftware.com/docs/man3/itoa.3.asp wize, ze
zainkludowalem to co trzeba. no ale deklaracji itoa ni ma...

Dlatego przeszukaj.
Moze umieliscili w innym pliku, moze faktycznie nie ma.

J.

elektroda NewsGroups Forum Index - Elektronika Polska - Jak wysłać wartość zmiennej int jako tekst w procedurze WriteText dla AT89S8252?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map