Re: Mikro C PIC - string - problém

Jan Půhoný konference na puhy.cz
Úterý Leden 14 09:37:15 CET 2014


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
>
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20140114/d6679940/attachment.html>


Další informace o konferenci Hw-list