[elektro] roppant kezdő C kérdés

Papp Zoltán zombi at c2.hu
Thu Apr 15 09:10:04 CEST 2010


2010.04.09. 18:11:57 dátumon Skandar Graun <sgraun at gmail.com> írta:

> Sziasztok!
>
> Alakulgat a C tanulásom, de a basic tudásom implementálása akadályokba ütközik.
> Épp az LCD ékezetes betűit pakolom általfelé, de a szokásos
> deklarációs problémába ütköztem.
>
> Az LCD-re ki akarom íratni a következő szöveget: "Helló világ"
> Ebben ugye a két ékezetes betű nem szerepel az LCD karakterkészletében.
> A megszokott karakterkészletemet sikerült beletolnom az LCD-be.
> Ha közvetlen karakterkivitellel beírom, akkor működik.
> A CG_adress 0-7-ig címen vannak.
> Basicban ilyenkor deklaráltam egy stringet, ami így néz ki:
> "Hell",4," vil",1,"g "   , ahol a 4 az "ó" megfelelője, az 1 pedig az
> "á" betűé.
> Ezt a fajta deklarációt a C viszont nem veszi jó néven.
> Hogy kellene kinéznie?

"Hell\x04 vil\x01g"

A kulcsszó: "escape sequences"
ld.pl.: http://www.acm.uiuc.edu/webmonkeys/book/c_guide/1.1.html

Viszont ajánlanám, ha már HD44780 kompatibilis kijelzőről van szó, hogy a 0 kódú karaktert ne használd, hanem annak "árnyékát" a 8. címen.
A C a stringeket null-terminated  módon tárolja, azaz a string vége után hozzátesz egy nullát, innen tudja, hogy vége van a stringnek.


> A másik, hogy ad két fura warning üzenetet.
> lcd.c:239: warning: pointer targets in passing argument 1 of 'puts_lcd' differ in signedness
> Ezt nem értem és nem találom a help listában.

Hát én sem tudom, de egyrészt ilyenkor én be szoktam dobni a hibaüzenetet gugliba, valószínűleg más is találkozott már vele.
De valami olyasmi lehet, hogy a függvény 1. paraméterének típusa nem megfelelő... azaz mindkettő pointer, de másképp van tipizálva és ezt ő elfogadja? (de szépen mondtam)


> lv24.c:67:2: warning: no newline at end of file
> Ez meg nem igaz.

Nem lehet, hogy a newline után van még egy space?

Üdv


-- 
Papp Zoltán
OneWay Electronics Kft
Hangszerviz
szkájp: oneway[aláhúzás]papp[aláhúzás]zoltan



More information about the Elektro mailing list