[elektro] roppant kezdő C kérdés
Skandar Graun
sgraun at gmail.com
Fri Apr 9 17:51:06 CEST 2010
Kipróbáltam, a "hell\x04 vil\x01g" nem működött, a "hell\4 vil\1g"
jött be. De így is köszönöm.
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]
>
More information about the Elektro
mailing list