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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-09-25T17:30:51+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=13042&amp;mode</id>
<entry>
<author><name><![CDATA[avrfun]]></name></author>
<updated>2015-09-25T17:30:51+01:00</updated>
<published>2015-09-25T17:30:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13042&amp;p=140691#p140691</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13042&amp;p=140691#p140691"/>
<title type="html"><![CDATA[&quot;Dawca czasu&quot; + Magic LED - spontaniczny reset]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13042&amp;p=140691#p140691"><![CDATA[
Witam.<br /><br />Podłączyłem do swojego &quot;Dawcy czasu&quot; zestawionego na ATB rev1.03 linijkę Magic LED (26 sztuk). Zasilanie diod (+5V) pobierane jest z zasilacza komputerowego dobrej klasy. Zestaw zasilany jest również z tego samego źródła (+12V i przetwornica ATB). Problem jest następujący: w sposób losowy dochodzi do resetu mikrokontrolera (tzn. po kilku lub kilkunastu minutach), ale zawsze, powtarzalnie na początku bloku &quot;switch&quot; funkcji GetNtpTime_EVENT (po zamruganiu czerwonej diody TXD w zestawie ATB). Zamieszczam podejrzany fragment kodu i proszę o spojrzenie.<br /><br />[syntax=c]switch (ms100_tick) // wysłanie kombinacji znaków co 100ms (+, +, +, a)<br />{<br />ws_line(linijka1, 0, 26, 0x1F1F00);<br />cli();<br />ws281x_asm_send( linijka1, WS_LED_CNT, WS_PIN);<br />sei();<br /><br />case 0: uart_puts(&quot;+&quot;); break;<br />case 1: uart_puts(&quot;+&quot;); break;<br />case 2: uart_puts(&quot;+&quot;); break;<br />//case 0 ... 2: uart_puts(&quot;+&quot;); break; // zamiast 3 powyższych instrukcji, jeśli zmienna get_time będzie w zakresie 0-2 +,+,+<br />case 3: uart_puts(&quot;a&quot;); break;<br />// brak case 4, jeszcze 100ms opóźnienia<br />case 5: {actual_at_cmd = _at_gmt;<br /> uart_puts(&quot;AT+GMT=&quot;);<br /> uart_putint(datetime.dst, 10);<br /> //dst=1 -&gt; czas zimowy, dst=2 -&gt; czas letni, ustaw w pliku mk_pcf8583.h !!!<br /> uart_puts(&quot;\r&quot;);<br /> break;<br /> }<br />// case 5, zanim wyślemy komendę AT+GMT=2\r, ustawiamy actual_at_cmd na _at_gmt czyli praktycznie na 1<br />// brak case 6-9, jeszcze 500ms opóźnienia<br />case 10: uart_puts(&quot;AT+ENTM\r&quot;); break; // Enter Transparet Mode<br />//case 20: {ws_line(linijka1, 5, 16, 0x00);<br />case 20: {ws_line(linijka1, 0, 26, 0x00);<br />  cli();<br />  ws281x_asm_send( linijka1, WS_LED_CNT, WS_PIN);<br />  sei();<br />  PORTC |= (1&lt;&lt;PC7);<br /><br />  break;<br />         }<br />}[/syntax]<br />Pozdrawiam<br />avrfun<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9310">avrfun</a> — 25 wrz 2015, o 17:30</p><hr />
]]></content>
</entry>
</feed>