Re: Mikro C PIC - string - problém

Jan Půhoný konference na puhy.cz
Úterý Leden 14 10:25:51 CET 2014


Díky moc - bylo to tou špatnou deklarací v druhém souboru, proto mi to
rozhazovalo displej a občas se to i kouslo.

Teď se to chová korektně.

Je tedy potřeba hlídat, aby délka toho bufferu byla vždy 16+1 znaků? Není
na to nějaká funkce která by to zajistila?

Ještě jednou díky všem, nemohl jsem na to dlouho přijít.

Honza Půhoný


S pozdravem Ing. Jan Půhoný

www.puhy.cz
puhy na puhy.cz

Navštivte nás na Facebooku:
http://www.facebook.com/puhy.cz

Následujte nás na Twitteru:
https://twitter.com/puhycz

Náš kanál na YouTube:
http://www.youtube.com/user/puhyeu

Připojení k internetu a VoIP telefonování
http://www.puhy.net


Dne 14. ledna 2014 10:01 Martin Persich <persich na transcon.cz> napsal(a):

>  V druhém souboru by měla být jen deklarace:
> extern unsigned char prvni_r[];
> extern unsigned char druhy_r[];
>
> Počet prvků (délku bufferu) si musí program v "C" bohužel hlídat sám, není
> problém téměř cokoliv, kdekoliv přepsat mimo tento buffer ... :-(
> Jinak ten uvedený zápis jednotlivých prvků do bufferu v druhém souboru je
> dle mého v pořádku a v rámci možností (tj. jazyka "C") korektní.
>
> Martin. persich na transcon.cz
>
>
> ----- Original Message -----
> *From:* Jan Půhoný <konference na puhy.cz>
> *To:* HW-news <hw-list na list.hw.cz>
> *Sent:* Tuesday, January 14, 2014 9:37 AM
> *Subject:* Re: Mikro C PIC - string - problém
>
> Díky všem za odpovědi.
>
> Zdá se, te strcpy funguje stejně jak s & tak bez &. Ještě to ale trochu
> zlobí, když do prvni_r a druhy_r šahám přes takovýto zápis
>
>  extern unsigned char prvni_r[17]="                ";
> extern unsigned char druhy_r[17]="                ";
>
>  prvni_r[8]=jednotky;
> prvni_r[9]=desitky;
> prvni_r[10]=':';
>
> z jiného c souboru stejného projektu.
>
> V hlavním c souboru s main void mám definici takto:
>
>  unsigned char prvni_r[17]="                ";
> unsigned char druhy_r[17]="                ";
>
> Jak korektně přistupovat ke stejným proměnným z různých c souborů projektu?
>
> Díky.
>
> Honza Půhoný
>
>
>
> Dne 13. ledna 2014 22:13 Martin Persich <persich na transcon.cz> napsal(a):
>
>>  A ještě jeden postřeh. Pokud se jedná o buffer pro 16-ti znakový LCD
>> displej, tak pro použití funkce "strcpy()" je nezbytné, aby tento buffer
>> měl délku 17 znaků (pro uložení ukončující "nuly" - '\0' ). Jinak dojde k
>> nedefinovanému přepsání "následující" proměnné.
>> Martin. persich na transcon.cz
>>
>>
>>  ----- Original Message -----
>> *From:* Aleš Novák <alesh.novak na email.cz>
>> *To:* HW-news <hw-list na list.hw.cz>
>> *Sent:* Monday, January 13, 2014 9:32 PM
>> *Subject:* Re: Mikro C PIC - string - problém
>>
>> Nemelo by to byt spise takhle:
>> stcrpy(prvni_r,"testovaci napis");
>>
>> Jmeno pole je samo o sobe pointer na jeho prvni polozku.
>>
>> Ales
>>
>>
>> 13. ledna 2014, 20:31:59, napsal jste:
>>
>>
>> Zkuste stcrpy(&prvni_r,"testovaci napis");
>>
>>
>>
>> LK
>>
>>
>> Dne 13.1.2014 19:53, Jan Půhoný napsal(a):
>> Zdravím konferenci,
>>
>> mám tady takový lama problém v C (Mikro C pro PIC řady 16).
>>
>> V proměnné prvni_r mám znaky pro první řádek LCD displeje (pak to
>> vypisuji přes Lcd_Out(1,1prvni_r); - to funguje.
>>
>> //definice
>>
>> unsigned char prvni_r[16];
>>
>> //editace znaků
>>
>> prvni_r[5] = 223;
>> prvni_r[6] = 'C';
>> prvni_r[7] ='  ';
>>
>> Lcd_Out(1,1prvni_r); //na pozici 5,6,7 mi to vypíše °C
>> to funguje ok
>>
>> Proč ale nefunguje toto:
>>
>> prvni_r="testovaci napis";
>>
>> na tomto řádku to hází error: Assigning to non-lvalue
>>
>> Co s tím, abych tam mohl dávat jak celé řetězce a zároveň editovat
>> jednotlivé znaky?
>>
>> Díky,
>>
>> Honza Půhoný
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> * -- S pozdravem, Aleš alesh.novak na email.cz <alesh.novak na email.cz>
>> ------------------------------
>> _______________________________________________HW-list mailing list  -
>> sponsored by www.HW.cz <http://www.HW.cz>Hw-list na list.hw.cz
>> <Hw-list na list.hw.cz>http://list.hw.cz/mailman/listinfo/hw-list
>> <http://list.hw.cz/mailman/listinfo/hw-list> *
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>  ------------------------------
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20140114/d65f0ef6/attachment.html>


Další informace o konferenci Hw-list