<?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=12035&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-06-16T20:02:45+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=12035&amp;mode</id>
<entry>
<author><name><![CDATA[jedras]]></name></author>
<updated>2015-06-16T20:02:45+01:00</updated>
<published>2015-06-16T20:02:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131948#p131948</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131948#p131948"/>
<title type="html"><![CDATA[Re: Makra w deklaracjach funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131948#p131948"><![CDATA[
Na pewno przetestuje sam jestem ciekaw jak to wyjdzie z zajętością pamięci.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6947">jedras</a> — 16 cze 2015, o 20:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xor]]></name></author>
<updated>2015-06-16T19:46:14+01:00</updated>
<published>2015-06-16T19:46:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131946#p131946</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131946#p131946"/>
<title type="html"><![CDATA[Re: Makra w deklaracjach funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131946#p131946"><![CDATA[
To co jest zmienne przenieś do parametrów funkcji, np. jakoś tak:<br /><br />[syntax=c]void send_bit(uint8_t bit, volatile uint8_t *port, uint8_t pin_mask){<br />        *port &amp;= ~ pin_mask;<br />        *(port-1) |= pin_mask;<br />        _delay_us(1); <br />        ...<br />        ...itd[/syntax]<br />Wywołanie:<br /><br />[syntax=c]#define SENSOR_PORT_1 PORTB<br />#define SENSOR_PIN_1 PB0<br />...<br />send_bit(bit, &amp;SENSOR_PORT_1, (1&lt;&lt;SENSOR_PIN_1));<br />...[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1774">xor</a> — 16 cze 2015, o 19:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jedras]]></name></author>
<updated>2015-06-16T18:42:13+01:00</updated>
<published>2015-06-16T18:42:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131941#p131941</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131941#p131941"/>
<title type="html"><![CDATA[Re: Makra w deklaracjach funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131941#p131941"><![CDATA[
SunRiver wiem o tym, tylko chodzi o to, że mam na przykład 4 maszyny dla każdej np po 4 czujniki temp. kazdą maszynę chce na osobnym pinie. <br />Dlatego stworzyłem sobie makra Di3_PORT DI2_PORT id. i teraz nie chce pisać sobie pliku *.c gdzie mam funkcje DI3_reset(); DI2_reset();<br />Wolałbym sobie DI_reset((xyz) port) nie wiem co wstawić zamiast (xyz) aby przekazywać dane z makra do funkcji.<br /><br />I czysto teoretycznie robie to dla nauki;)<br /><br />EDIT: A dodatkowo samo powielenie funkcji dodaje 0.2% FLASH dla ATMEGI32.<br /><br />EDIT2: Dobra zrobiłem to w zupełnie inny sposób. Po prostu dodałem instrukcje warunkową #if defined(DI0_ENABLE) #endif i tak dla każdego. z wejść. Zamysł ten sam tylko, że niestety trzeba powtarzać nazwy funkcji w pliku<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6947">jedras</a> — 16 cze 2015, o 18:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2015-06-16T18:37:08+01:00</updated>
<published>2015-06-16T18:37:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131940#p131940</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131940#p131940"/>
<title type="html"><![CDATA[Re: Makra w deklaracjach funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131940#p131940"><![CDATA[
niestety ale jak chcesz sobie tak utrudniać to  musisz uruchomić  1Wire dla każdego z pinów ...<br />niby łatwiej potem (mawiają co niektórzy) zapanować nad tym gdzie jest jaki czujnik , ale taka praktyka <br />niepotrzebnie marnuje piny i zabija magistralę 1Wire ...  bo cały sęk w tym i tak to stworzono<br />by wiele czujników wisiało na 1 pinie  .....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 16 cze 2015, o 18:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jedras]]></name></author>
<updated>2015-06-16T18:11:09+01:00</updated>
<published>2015-06-16T18:11:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131935#p131935</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131935#p131935"/>
<title type="html"><![CDATA[Makra w deklaracjach funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12035&amp;p=131935#p131935"><![CDATA[
Witam. Walczę z 1wire samemu i załóżmy, że mam 1wire na 4 Pinach procesora. Tak sobie wymyśliłem i nazywają się kolejno DI[0..3] i teraz moje pytanie jest następujące. czy dla każdego z PINów muszę powielać nazwe funkcji?<br />[syntax=c]void DI_send_bit(uint8_t bit){<br />DI3_PORT &amp;= ~ (1&lt;&lt;DI3_PINn); <br />DI3_DDR |= (1&lt;&lt;DI3_PINn); <br />_delay_us(1);<br />if(bit)<br />DI3_DDR &amp;= ~(1&lt;&lt;DI3_PINn); <br />_delay_us(60);<br />DI3_DDR &amp;= ~(1&lt;&lt;DI3_PINn);<br />}[/syntax]<br />Chciałbym np w deklaracji funkcji móc wpisać np numer DDR, PORTu i PINU procka które są przechowywane w makrach w takiej postaci<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">#define DI3_PORT PORTA<br />#define DI3_DDR DDRA<br />#define DI3_PIN PINA<br />#define DI3_PINn PA3<br /></div><br /><br />Mam nadzieję, że jasno się wyraziłem:) Z góry mówię, że nie posiadam żadnego z Booków może uczę się naokoło ale staram się:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6947">jedras</a> — 16 cze 2015, o 18:11</p><hr />
]]></content>
</entry>
</feed>