[elektro] roppant kezdő C kérdés
Lajos Rancz
lajos.rancz at gmail.com
Fri Apr 9 17:52:39 CEST 2010
Szia!
Az a gond, hogy a puts_lcd függvény bemenő paramétere unsigned char *, míg
te char * al hívod. A mytext körüli magix nem kell, mivel &mytext[0] ==
mytext-el.
Üdv,
Lajos
2010/4/9 Skandar Graun <sgraun at gmail.com>
> A deklarációt köszönöm, ki fogom próbálni.
> A hibaüzenetekkel kapcsolatban igazad van, bocsánat.
> Az első hibaüzenet sora:
> A felhasznált változó:
> const char mytext[] = " PIC24H Demo ";
>
> A függvény:
>
> void puts_lcd( unsigned char *data, unsigned char count )
> {
> while ( count )
> {
> lcd_data( *data++ );
> count --;
> }
> }
>
> Erre jön a felhasználás:
>
> puts_lcd( (char*) &mytext[0], sizeof(mytext) -1 );
>
>
> Erre a sorra jött a warning:
>
> lv24.c:34: warning: pointer targets in passing argument 1 of
> 'puts_lcd' differ in signedness
>
> A másodikra nincs mit írnom, a forrásnyelvi utolsó sora a hibaüzenet
> sora, akárhány entert nyomok a végére.
>
>
>
>
>
> vajk fekete <halaloszto at yahoo.co.uk> írta (2010. április 9. 17:31):
> > azert a hibat ado sorokat magukat is betehetned a levelbe :-)
> >
> > a stringkonstanst megirhatod igy: "hell\x04 vil\x01g"
> >
> > a \x utan hexaban irhatsz byteot.
> >
> > arra vigyazz, hogy c-ben a 0-as byte a string vege, ha a kozepebe teszel
> nullat, minden fuggveny ugy fogja venni, hogy ott vege van.
> >
> > a hibauzeneteidre azt tippelem, hogy s1=s2 ertekadast csinaltal. lehet,
> csak nem azt jelenti mint elsore hinnenk.
> >
> > a string neve az tulkepp egy pointer az elso betujere. ennek megfeleloen
> a fenti ertekadas az elso pointert beallitja hogy oda mutasson, ahova a
> masodik mutat.
> >
> > vajk
> >
> >
> >
> >
> >
> > ________________________________
> > From: Skandar Graun <sgraun at gmail.com>
> > To: elektro at tesla.hu
> > Sent: Fri, 9 April, 2010 17:11:57
> > Subject: [elektro] roppant kezdő C kérdés
> >
> > 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?
> > 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.
> > lv24.c:67:2: warning: no newline at end of file
> > Ez meg nem igaz.
> >
> > PIC30-as fordító, 24-es procira.
> >
> > Előre is köszi a segítséget.
> >
> > -----------------------------------------
> > elektro[-flame|-etc]
> >
> >
> >
> >
> > -----------------------------------------
> > elektro[-flame|-etc]
>
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list