Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Konvertovanje byte u string ?

[es] :: C/C++ programiranje :: C/C++ za početnike :: Konvertovanje byte u string ?

[ Pregleda: 1716 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

shadow-bg
Ciric Vukasin
Preduzetnik
Beograd

Član broj: 189835
Poruke: 313
*.dynamic.sbb.rs.

Sajt: www.bgwireless.net


+293 Profil

icon Konvertovanje byte u string ?05.12.2010. u 18:41 - pre 163 meseci
Pisem kod PIC kontroler koji ima na sebi serijski port i LCD ekran 16x2.
Moj problem je sledeci:

Code:

odziv = USART_Read();
ByteToStr(odziv,*lcdtekst);
Lcd_Out(1, 1, *lcdtekst);


Citat:
USART_Read = Returns the received byte. If byte is not received, returns 0.


Kad ja posaljem slovo A preko terminala, na LCD ekranu dobijem broj 65, sto je njegova ASCII vrednost. A ja zelim da na ekranu dobijem slovo A.
Kako da konvertujem ASCII kod u karakter?
 
Odgovor na temu

pajaja
Beograd

Administrator
Član broj: 41598
Poruke: 3430
*.dynamic.sbb.rs.

Jabber: pajaja@elitesecurity.org
ICQ: 253317269


+144 Profil

icon Re: Konvertovanje byte u string ?05.12.2010. u 20:54 - pre 163 meseci
Pozdrav,

Byte u C-u 'ne postoji', tacnije postoji char koji je velicine 1 bajta. Ako funkcija USART_Read() vraca char a ti pozoves funkciju ByteToStr() koja recimo ocekuje int kao prvi argument a ti joj prosledis char, to bi bio verovatan uzork zasto dobijas broj a ne karakter. Posto je string array char-ova, probaj da direktno ubacujes u string kako citas sa ulaza. *(lcdtekst+i) = USART_Read() (gde je i pozicija u nizu).

Nisam radio sa kontrolerima tako da nemam iskustva sa tim funkcijama koje ti koristis ali nadam se da sam razumeo sta je problem.
xxx
mali mali mali kamičak...nebo plave boje.
In Memoriam: Madzone Zeka(15.09.2005-16.09.2005)
 
Odgovor na temu

shadow-bg
Ciric Vukasin
Preduzetnik
Beograd

Član broj: 189835
Poruke: 313
*.dynamic.sbb.rs.

Sajt: www.bgwireless.net


+293 Profil

icon Re: Konvertovanje byte u string ?05.12.2010. u 22:28 - pre 163 meseci
Razumeo si ti mene. Ali ja nisam tebe :)

*(lcdtekst+i) = USART_Read()

meni kompajler ovde prijavljuje "implicit cast of integral value to pointer"
 
Odgovor na temu

pajaja
Beograd

Administrator
Član broj: 41598
Poruke: 3430
*.dynamic.sbb.rs.

Jabber: pajaja@elitesecurity.org
ICQ: 253317269


+144 Profil

icon Re: Konvertovanje byte u string ?05.12.2010. u 23:25 - pre 163 meseci
Pozdrav,

Nisam imao ceo kod pa sam pretpostavio da je promenljiva *lcdtekst a izgleda da je **lcdtekst? Ako je to u pitanju onda meni fali jedna zvezdica:)

Uglavnom, moja ideja je bila da direktno to sto funkcija USART_Read() vraca ubacujes u string.
na primer ako je string char str[16] da ubacujes vrednosti kao
Code (c):

str[0] = USART_Read();
str[1] = USART_Read();
str[2] = USART_Read();
...
 

ili (verovatno) u tvom slucaju:
Code (c):

*(*lcdtekst) = USART_Read();
*(*lcdtekst+1) = USART_Read();
*(*lcdtekst+2) = USART_Read();
...
 

xxx
mali mali mali kamičak...nebo plave boje.
In Memoriam: Madzone Zeka(15.09.2005-16.09.2005)
 
Odgovor na temu

shadow-bg
Ciric Vukasin
Preduzetnik
Beograd

Član broj: 189835
Poruke: 313
*.dynamic.sbb.rs.

Sajt: www.bgwireless.net


+293 Profil

icon Re: Konvertovanje byte u string ?06.12.2010. u 23:12 - pre 163 meseci
Hvala na pomoci, evo kako sam resio

Code:

ByteToStr(PORTD,dugme);
Usart_Write(dugme[0]);
Usart_Write(dugme[1]);
Usart_Write(dugme[2]);


Pretvorio sam byte u string i poslao ga karakter po karakter na serijski port :)
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Konvertovanje byte u string ?

[ Pregleda: 1716 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.