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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-01-03T21:13:47+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=17225&amp;mode</id>
<entry>
<author><name><![CDATA[Jarecki]]></name></author>
<updated>2017-01-03T21:13:47+01:00</updated>
<published>2017-01-03T21:13:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17225&amp;p=178952#p178952</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17225&amp;p=178952#p178952"/>
<title type="html"><![CDATA[Re: Inicjalizacja zerami zmiennych globalnych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17225&amp;p=178952#p178952"><![CDATA[
Tak masz rację, działa tak jak mówisz. Czyli wiadomo jak pozbyć się problemu ale nie wiadomo skąd się on bierze <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2511">Jarecki</a> — 3 sty 2017, o 21:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[skalarro]]></name></author>
<updated>2017-01-03T21:06:02+01:00</updated>
<published>2017-01-03T21:06:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17225&amp;p=178950#p178950</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17225&amp;p=178950#p178950"/>
<title type="html"><![CDATA[Re: Inicjalizacja zerami zmiennych globalnych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17225&amp;p=178950#p178950"><![CDATA[
Nie wiem czy to błąd ale tak jest. Ja tak mam, inni też pisali. <br />To nie jest tak, że trzeba zerować bufor. Na dowód spróbuj tak, że nie resetujesz bufora tylko ustaw diody jak ustawiasz i daj dwa razy asm_send. Zobaczysz że zadziała bez resetowania bufora. <br />Ja daję delaja na samym początku programu i jest ok.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4850">skalarro</a> — 3 sty 2017, o 21:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jarecki]]></name></author>
<updated>2017-01-03T20:53:40+01:00</updated>
<published>2017-01-03T20:53:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17225&amp;p=178949#p178949</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17225&amp;p=178949#p178949"/>
<title type="html"><![CDATA[Inicjalizacja zerami zmiennych globalnych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17225&amp;p=178949#p178949"><![CDATA[
Witam,<br />przerabiam aktualnie poradniki pana Mirka na temat Magic LED-ów. Wszystko działa fajnie ale podczas ćwiczeń i napotkałem dziwne zachowanie programu, którego nie potrafię sam wyjaśnić... Już mówię o co chodzi. Mam linijkę składającą się z 8 diod LED. <br />W programie zapalam 3 piksele:<br />[syntax=c]int main( void )<br />{<br />ws_cls( pasek, 0);<br /><br />set_pixel( pasek, 2, 0x000f00);  // piksel nr 3 zielony<br />set_pixel( pasek, 4, 0x00000f);  // piksel nr 5 niebieski<br />set_pixel( pasek, 7, 0x0f0000);  // piksel nr 8, czerwony<br /><br />ws281x_asm_send( pasek, WS_LED_CNT, WS_PIN );<br /><br />while(1)<br />{<br />}<br />}[/syntax]<br /><br />Wszystko działa jak należy. Problem pojawia się, kiedy nie umieszczę na samym początku funkcji <br /><br />[syntax=c]ws_cls( pasek, 0);[/syntax]<br /><br />czyli wysyłam do mikrokontrolera skompilowany kod:<br /><br />[syntax=c]int main( void )<br />{<br />//ws_cls( pasek, 0);<br /><br />set_pixel( pasek, 2, 0x000f00);  // piksel nr 3 zielony<br />set_pixel( pasek, 4, 0x00000f);  // piksel nr 5 niebieski<br />set_pixel( pasek, 7, 0x0f0000);  // piksel nr 8, czerwony<br /><br />ws281x_asm_send( pasek, WS_LED_CNT, WS_PIN );<br /><br />while(1)<br />{<br />}<br />}[/syntax]<br /><br />Gdy pominę funkcję ws_cls( pasek, 0);, która zeruje bufor danych wysyłanych do diod przy wgrywaniu tego samego wsadu za pomocą przycisku &quot;Upload current project...&quot; na 10 prób wgrania bywa że dwa-trzy razy diody zapalają się przypadkowo w innych kolorach (nie tylko piksele 3, 5, 8 ale również 1, 7, 2 itd). <br />Bufor jest tablicą składającą się z 8 elementów, z których każdy jest strukturą z trzema polami uint8_t. Przy starcie programu komórki tablicy powinny być wyzerowane a moim przypadku wygląda jakby nie zawsze były....<br />Funkcja ws_cls( pasek, 0) zeruje wszystkie elementy tablicy i nigdy po jej użyciu nie zdarzyło się żeby diody zapaliły się przypadkowo. Koledzy którzy przerabiali te poradniki na pewno czuja dobrze temat. W związku z tym proszę o wskazówkę gdzie może być błąd? <br />Pozdrawiam <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2511">Jarecki</a> — 3 sty 2017, o 20:53</p><hr />
]]></content>
</entry>
</feed>