<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=19191&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-09-14T11:56:42+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=19191&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-09-14T11:56:42+01:00</updated>
<published>2017-09-14T11:56:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19191&amp;p=195093#p195093</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19191&amp;p=195093#p195093"/>
<title type="html"><![CDATA[Re: Makro a argument funkcji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19191&amp;p=195093#p195093"><![CDATA[
no i co ? myślisz że ten LITERAŁ czyli stała dosłowna bo tak to się nazywa - egzystuje sobie w pamięci RAM ??? ano nie - mylisz się, a tymczasem próbujesz to zrobić jakby był w pamięci RAM<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 8 minutach ]</span></strong><br /><br />musiałbyś sobie to z FLASHA wyciągać panie kochany<br /><br />[syntax=c]/* makro zamieniające podany argument na łańcuch znaków */<br />#define TOSTRING( x ) STRINGIFY( x )<br />#define STRINGIFY( x ) #x[/syntax]<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />TOSTRING( <strong><span style="color: #0040FF">TU_DAJESZ_LITERAŁ </span></strong>)<br /></div><br /><br />czyli w twoim przypadku<br /><br />[syntax=c]TOSTRING( sciezka )[/syntax]<br /><br />mowa jest o tym np w YELLWBOOKU <br /><br />tyle że musisz pamiętać, że to wciąż jest string rezydujący w pamięci FLASH a nie ram - więc sprintf tu nie da rady bo on musi pobierać argumenty z RAM<br /><br />ale co za problem wtedy użyć np <br /><br />[syntax=c]char buf&#91;30&#93;;<br />buf&#91;0&#93;=0;<br /><br />strcat_P( buf, TOSTRING( sciezka ) );[/syntax]<br /><br />i po zawodach<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 14 wrz 2017, o 11:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matej1410]]></name></author>
<updated>2017-09-14T10:46:07+01:00</updated>
<published>2017-09-14T10:46:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19191&amp;p=195083#p195083</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19191&amp;p=195083#p195083"/>
<title type="html"><![CDATA[Makro a argument funkcji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19191&amp;p=195083#p195083"><![CDATA[
Witam.<br /><br />Małą małą zagwozdkę. Mianowicie deklaruje sobie dyrektywę:<br /><br />[syntax=c]#define sciezka &quot;/sys/class/gpio/value&quot;[/syntax]<br /><br />gdy chcę zamienić zawartość takiej dyrektywy na string to robię to tak:<br /><br />[syntax=c]char bufor(30);<br />sprintf(bufor, &quot;%s&quot;, sciezka)[/syntax]<br /><br />a teraz jeśli chciałbym stworzyć funkcję, która jako argument przyjmie właśnie zawartość tej dyrektywy a potem wykorzysta ją w funkcji sprintf, to jak ona powinna wyglądać? coś takiego?<br /><br />[syntax=c]void funkcja (char zmienna)<br />{<br />char bufor(30);<br />sprintf(bufor, &quot;%s&quot;, zmienna)<br /><br />}[/syntax]<br /><br />a wywoływać tak:<br />[syntax=c]funkcja(sciezka);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1912">matej1410</a> — 14 wrz 2017, o 10:46</p><hr />
]]></content>
</entry>
</feed>