<div dir="ltr">Díky všem za vysvětlení.<div><br></div><div>Koukám, že ty string operace docela žerou paměť procesoru. Asi ten Mikro C budu muset koupit... protože jsem na demo limitu :-( (max 2k HEX).</div><div><br></div><div>
Je to dobrá volba, nebo za ty peníze koupím na PICy něco lepšího?</div><div><br></div><div>Nebo bude lepší spíš tam dát nějaký pinově kompatibilní 18F ... ty mají podporu C přímo v MPLABu zdarma, ne?</div><div><br></div><div>
Honza Půhoný</div><div class="gmail_extra"><div><div></div></div>
<br><br><div class="gmail_quote">Dne 14. ledna 2014 11:49 Martin Persich <span dir="ltr"><<a href="mailto:persich@transcon.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=persich@transcon.cz&cc=&bcc=&su=&body=','_blank');return false;">persich@transcon.cz</a>></span> napsal(a):<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>
<div bgcolor="#ffffff">
<div><font face="Arial">Přiznávám, možnosti knihoven v Mikro C vůbec
neznám, PIC neprogramuji. Délka bufferu lze sice zjistit pomocí "sizeof()", ale
to si musíte "ručně" pohlídat, tj. nejdříve zjistit velikost a pak případně
provést další akci. Nic automatizovaného a navíc obvykle je velikost bufefru v
těchto případech konstantní a postrádá to smysl.</font></div>
<div><font face="Arial">Ale měl jsem na mysli vytvoření svých speciálních
funkcí, které toto budou zohledňovat a např. pro obsluhu LCD displeje známé
velikosti vystačí pouze s bufferem o délce tohoto displeje. Jinak standardně
toto řeší objekty CString (nebo tak nějak v "C++"), ale to je jiná kategorie a
asi se to nedá rozumně použít na malé MCU, osobně také zůstávám pouze u
"C".</font></div>
<div><font face="Arial">Martin. <a href="mailto:persich@transcon.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=persich@transcon.cz&cc=&bcc=&su=&body=','_blank');return false;">persich@transcon.cz</a></font></div>
<blockquote style="BORDER-LEFT:#000000 2px solid;PADDING-LEFT:5px;PADDING-RIGHT:0px;MARGIN-LEFT:5px;MARGIN-RIGHT:0px"><div class="im">
<div style="FONT:10pt arial">----- Original Message ----- </div>
<div style="FONT:10pt arial;BACKGROUND:#e4e4e4"><b>From:</b>
<a title="konference@puhy.cz" href="mailto:konference@puhy.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=konference@puhy.cz&cc=&bcc=&su=&body=','_blank');return false;">Jan Půhoný</a>
</div>
<div style="FONT:10pt arial"><b>To:</b> <a title="hw-list@list.hw.cz" href="mailto:hw-list@list.hw.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">HW-news</a> </div>
</div><div><div class="h5"><div style="FONT:10pt arial"><b>Sent:</b> Tuesday, January 14, 2014 10:48
AM</div>
<div style="FONT:10pt arial"><b>Subject:</b> Re: Mikro C PIC - string -
problém</div>
<div><br></div>
<div dir="ltr">A těmi nestandardními funkcemi, máte na mysli co? Je něco
takového v Mikro C PIC možné využít?
<div class="gmail_extra"><br clear="all">
<div>H.</div><br>
<div class="gmail_quote">Dne 14. ledna 2014 10:35 Martin Persich <span dir="ltr"><<a href="mailto:persich@transcon.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=persich@transcon.cz&cc=&bcc=&su=&body=','_blank');return false;">persich@transcon.cz</a>></span> napsal(a):<br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote"><u></u>
<div bgcolor="#ffffff">
<div><font face="Arial">Pokud používáte standardní funkce "str...()", tak si
bohužel délku bufferů musíte v programu hlídat sám. A hodně
důsledně! Stačí chvilka nepozornosti a i po několika letech se objevují
v programu chyby... To je bohužel jeden z velkých nedostatků (a zárověň
výhod .-) ) jazykä "C".</font></div><span><font color="#888888">
<div><font face="Arial">Martin</font></div>
<div><font face="Arial"></font> </div></font></span>
<blockquote style="BORDER-LEFT:#000000 2px solid;PADDING-LEFT:5px;PADDING-RIGHT:0px;MARGIN-LEFT:5px;MARGIN-RIGHT:0px">
<div>
<div style="FONT:10pt arial">----- Original Message ----- </div>
<div style="FONT:10pt arial;BACKGROUND:#e4e4e4"><b>From:</b> <a title="konference@puhy.cz" href="mailto:konference@puhy.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=konference@puhy.cz&cc=&bcc=&su=&body=','_blank');return false;">Jan Půhoný</a> </div>
<div style="FONT:10pt arial"><b>To:</b> <a title="hw-list@list.hw.cz" href="mailto:hw-list@list.hw.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">HW-news</a> </div>
</div>
<div>
<div>
<div style="FONT:10pt arial"><b>Sent:</b> Tuesday, January 14, 2014 10:25
AM</div>
<div style="FONT:10pt arial"><b>Subject:</b> Re: Mikro C PIC - string -
problém</div>
<div><br></div>
<div dir="ltr">Díky moc - bylo to tou špatnou deklarací v druhém souboru,
proto mi to rozhazovalo displej a občas se to i kouslo.
<div><br></div>
<div>Teď se to chová korektně.</div>
<div><br></div>
<div>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?</div>
<div><br></div>
<div>Ještě jednou díky všem, nemohl jsem na to dlouho přijít.<br>
<div><br></div>
<div>Honza Půhoný</div>
<div><br></div></div></div>
<div class="gmail_extra"><br clear="all">
<div>S pozdravem Ing. Jan Půhoný<br><br><a href="http://www.puhy.cz/" target="_blank">www.puhy.cz</a><br><a href="mailto:puhy@puhy.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=puhy@puhy.cz&cc=&bcc=&su=&body=','_blank');return false;">puhy@puhy.cz</a><br>
<br>Navštivte
nás na Facebooku:<br><a href="http://www.facebook.com/puhy.cz" target="_blank">http://www.facebook.com/puhy.cz</a>
<div><br></div>
<div>Následujte nás na Twitteru:</div>
<div><a href="https://twitter.com/puhycz" target="_blank">https://twitter.com/puhycz</a></div>
<div><br>Náš kanál na YouTube:<br><a href="http://www.youtube.com/user/puhyeu" target="_blank">http://www.youtube.com/user/puhyeu</a></div>
<div><br></div>
<div>
<div>Připojení k internetu a VoIP telefonování</div>
<div><a href="http://www.puhy.net" target="_blank">http://www.puhy.net</a></div></div></div><br><br>
<div class="gmail_quote">Dne 14. ledna 2014 10:01 Martin Persich <span dir="ltr"><<a href="mailto:persich@transcon.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=persich@transcon.cz&cc=&bcc=&su=&body=','_blank');return false;">persich@transcon.cz</a>></span> napsal(a):<br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote"><u></u>
<div bgcolor="#ffffff">
<div><font face="Arial">V druhém souboru by měla být jen
deklarace:</font></div>
<div>extern unsigned char prvni_r[];</div>
<div>extern unsigned char druhy_r[];</div>
<div><font face="Arial"></font> </div>
<div><font face="Arial">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 ... :-( </font></div>
<div><font face="Arial">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í.</font></div>
<div><font face="Arial"></font> </div>
<div><font face="Arial">Martin. <a href="mailto:persich@transcon.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=persich@transcon.cz&cc=&bcc=&su=&body=','_blank');return false;">persich@transcon.cz</a></font></div>
<div>
<div>
<div><font face="Arial"></font> </div>
<blockquote style="BORDER-LEFT:#000000 2px solid;PADDING-LEFT:5px;PADDING-RIGHT:0px;MARGIN-LEFT:5px;MARGIN-RIGHT:0px">
<div style="FONT:10pt arial">----- Original Message ----- </div>
<div style="FONT:10pt arial;BACKGROUND:#e4e4e4"><b>From:</b> <a title="konference@puhy.cz" href="mailto:konference@puhy.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=konference@puhy.cz&cc=&bcc=&su=&body=','_blank');return false;">Jan Půhoný</a> </div>
<div style="FONT:10pt arial"><b>To:</b> <a title="hw-list@list.hw.cz" href="mailto:hw-list@list.hw.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">HW-news</a> </div>
<div style="FONT:10pt arial"><b>Sent:</b> Tuesday, January 14, 2014
9:37 AM</div>
<div style="FONT:10pt arial"><b>Subject:</b> Re: Mikro C PIC - string
- problém</div>
<div><font face="Arial"></font><font face="Arial"></font><font face="Arial"></font><font face="Arial"></font><br></div>
<div dir="ltr">Díky všem za odpovědi.
<div><font face="Arial"></font><font face="Arial"></font><font face="Arial"></font><font face="Arial"></font><br></div>
<div>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</div>
<div><font face="Arial"></font><font face="Arial"></font><font face="Arial"></font><font face="Arial"></font><br></div>
<div>
<div>extern unsigned char prvni_r[17]="
";</div>
<div>extern unsigned char druhy_r[17]="
";</div></div>
<div><br></div>
<div>
<div>prvni_r[8]=jednotky;</div>
<div>prvni_r[9]=desitky;</div>
<div>prvni_r[10]=':';</div></div>
<div><br></div>
<div>z jiného c souboru stejného projektu.</div>
<div><br></div>
<div>V hlavním c souboru s main void mám definici takto:</div>
<div><br></div>
<div>
<div>unsigned char prvni_r[17]="
";</div>
<div>unsigned char druhy_r[17]="
";</div></div>
<div><br></div>
<div>Jak korektně přistupovat ke stejným proměnným z různých c souborů
projektu?</div>
<div><br></div>
<div>Díky.</div>
<div><br></div>
<div>Honza Půhoný</div>
<div><br></div>
<div class="gmail_extra">
<div>
<div></div></div><br><br>
<div class="gmail_quote">Dne 13. ledna 2014 22:13 Martin Persich <span dir="ltr"><<a href="mailto:persich@transcon.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=persich@transcon.cz&cc=&bcc=&su=&body=','_blank');return false;">persich@transcon.cz</a>></span> napsal(a):<br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote"><u></u>
<div bgcolor="#ffffff">
<div><font face="Arial">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é.</font></div>
<div><font face="Arial">Martin. <a href="mailto:persich@transcon.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=persich@transcon.cz&cc=&bcc=&su=&body=','_blank');return false;">persich@transcon.cz</a></font></div>
<div><font face="Arial"></font> </div>
<blockquote style="BORDER-LEFT:#000000 2px solid;PADDING-LEFT:5px;PADDING-RIGHT:0px;MARGIN-LEFT:5px;MARGIN-RIGHT:0px">
<div>
<div>
<div style="FONT:10pt arial">----- Original Message ----- </div>
<div style="FONT:10pt arial;BACKGROUND:#e4e4e4"><b>From:</b> <a title="alesh.novak@email.cz" href="mailto:alesh.novak@email.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=alesh.novak@email.cz&cc=&bcc=&su=&body=','_blank');return false;">Aleš Novák</a>
</div>
<div style="FONT:10pt arial"><b>To:</b> <a title="hw-list@list.hw.cz" href="mailto:hw-list@list.hw.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">HW-news</a> </div>
<div style="FONT:10pt arial"><b>Sent:</b> Monday, January 13,
2014 9:32 PM</div>
<div style="FONT:10pt arial"><b>Subject:</b> Re: Mikro C PIC -
string - problém</div>
<div><br></div><span style="FONT-FAMILY:'Courier New';FONT-SIZE:9pt">Nemelo by to
byt spise takhle:<br>stcrpy(prvni_r,"testovaci
napis");<br><br>Jmeno pole je samo o sobe pointer na jeho prvni
polozku.<br><br>Ales<br><br><br>13. ledna 2014, 20:31:59, napsal
jste:<br><br></span>
<table bgcolor="#ffffff">
<tbody>
<tr>
<td bgcolor="#0000ff" width="10"><br></td>
<td width="808"><span style="FONT-FAMILY:'courier new';FONT-SIZE:9pt">Zkuste
stcrpy(&prvni_r,"testovaci
napis");<br><br><br><br>LK<br><br><br>Dne 13.1.2014 19:53,
Jan Půhoný napsal(a):<br>Zdravím konferenci,<br><br>mám tady
takový lama problém v C (Mikro C pro PIC řady 16).<br><br>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.<br><br>//definice<br><br>unsigned char
prvni_r[16];<br><br>//editace znaků<br><br>prvni_r[5] =
223;<br>prvni_r[6] = 'C';<br>prvni_r[7] ='
';<br><br>Lcd_Out(1,1prvni_r); //na pozici 5,6,7 mi to
vypíše °C<br>to funguje ok<br><br>Proč ale nefunguje
toto:<br><br>prvni_r="testovaci napis"; <br><br>na
tomto řádku to hází error: Assigning to non-lvalue<br><br>Co
s tím, abych tam mohl dávat jak celé řetězce a zároveň
editovat jednotlivé znaky?<br><br>Díky,<br><br>Honza
Půhoný<br><br><br>_______________________________________________<br>HW-list
mailing list - sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a> <a href="mailto:Hw-list@list.hw.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=Hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">Hw-list@list.hw.cz</a> <a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a> </span></td>
</tr></tbody></table><br><br><br><br></div></div><span style="FONT-FAMILY:'arial';COLOR:#c0c0c0"><i>
<div>
<div>-- <br>S pozdravem,<br> Aleš<br> <a style="FONT-STYLE:normal" href="mailto:alesh.novak@email.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=alesh.novak@email.cz&cc=&bcc=&su=&body=','_blank');return false;">alesh.novak@email.cz</a> </div>
</div>
<p></p>
<hr>
<div>
<p></p></div></i></span></blockquote></div></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></div></div></div></blockquote></div><br></blockquote></div><br></div></div>
</div></div><p>
</p><hr><div class="im">
<p></p>_______________________________________________<br>HW-list mailing
list - sponsored by
<a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br><a href="mailto:Hw-list@list.hw.cz" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=Hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br></div><p></p></blockquote></div>
<br>_______________________________________________<br>
HW-list mailing list - sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=Hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
<br></blockquote></div><br></div></div>