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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-05-09T14:45:13+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=18357&amp;mode</id>
<entry>
<author><name><![CDATA[APAP75]]></name></author>
<updated>2017-05-09T14:45:13+01:00</updated>
<published>2017-05-09T14:45:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188752#p188752</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188752#p188752"/>
<title type="html"><![CDATA[Re: Różnica w pracy uC między RESET, a odłączeniem zasilania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188752#p188752"><![CDATA[
Spróbuj wykorzystać rejestr MCUCSR atmegi32 i np. nie inicjuj LCD gdy źródło restartu jest inne niż power-on (lub gdy źródłem jest external reset). Zobaczysz, czy jest różnica.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6195">APAP75</a> — 9 maja 2017, o 14:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2017-05-09T14:19:34+01:00</updated>
<published>2017-05-09T14:19:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188751#p188751</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188751#p188751"/>
<title type="html"><![CDATA[Re: Różnica w pracy uC między RESET, a odłączeniem zasilania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188751#p188751"><![CDATA[
Na dwóch LCD testowałem, ale to wyświetlacze z partii, którą kupiłem jakiś czas temu i już kilka z nich bezproblemowo działało w innym sterowniku. W sumie to nie jest jakiś wielki problem, bo po włączeniu zasilania wszystko jest ok, ale sam fakt występowania tego zjawiska mi nie daje spokoju, a ja jestem z tych bardziej dociekliwych <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=1922">SylwekK</a> — 9 maja 2017, o 14:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2017-05-09T13:26:58+01:00</updated>
<published>2017-05-09T13:26:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188748#p188748</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188748#p188748"/>
<title type="html"><![CDATA[Re: Różnica w pracy uC między RESET, a odłączeniem zasilania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188748#p188748"><![CDATA[
Na razie nie mam niestety czasu aby zająć się tematem głębiej, ale go nie odpuszczę, a póki co znalazłem banalny i bardzo nieelegancki (w normalnych warunkach unikam jak ognia takich rozwiązań) sposób aby po resecie też było wszystko ok:<br />[syntax=c]void pasek_init (void)<br />{<br />  lcd_defchar_P(0x80, pasek0);<br />  lcd_defchar_P(0x80, pasek0);//zdublowana linia<br />  lcd_defchar_P(0x81, pasek1);<br />  lcd_defchar_P(0x82, pasek2);<br />  lcd_defchar_P(0x83, pasek3);<br />  lcd_defchar_P(0x84, pasek4);<br /><br />  lcd_cls();<br />}[/syntax]<br /><br />Po prostu zdublowana linia definiująca pierwszy znak. Daje mi to do myślenia, że jednak gdzieś z inicjalizacją jest problem, ale jak mówiłem zajmę się tym w luźniejszej chwili <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=1922">SylwekK</a> — 9 maja 2017, o 13:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2017-05-08T14:25:25+01:00</updated>
<published>2017-05-08T14:25:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188677#p188677</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188677#p188677"/>
<title type="html"><![CDATA[Re: Różnica w pracy uC między RESET, a odłączeniem zasilania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188677#p188677"><![CDATA[
Mirku poszło na PW.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 8 maja 2017, o 14:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-05-08T13:53:13+01:00</updated>
<published>2017-05-08T13:53:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188674#p188674</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188674#p188674"/>
<title type="html"><![CDATA[Re: Różnica w pracy uC między RESET, a odłączeniem zasilania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188674#p188674"><![CDATA[
No to to jest ta ostatnia poprawiona dobra wersja, hmmm .... sorki może nie zauważyłem - czy korzystasz z pinu R/W do procka ? czy masz podłączony do GND ?<br /><br />Czy możesz ew wyłuskać jakiś fragment kodu żeby móc sprawdzić go u siebie na procku ? sam jakiś mini fragmencik main.c gdzie inicjalizujesz, ładujesz kilka znaków ? ... chociaż u ciebie to chyba nie będzie łatwe bo skoro korzystasz z buforowania własnego to już jest pewnie i inicjalizacja jakiegoś timera i polecenia buforujące ... <br /><br />no ale gdzieś musi być babol w kodzie tylko zastanawiam się czy w inicjalizacji czy gdzieś indziej ... bo oczywiście reset niczym nie może się różnić od wyłączenia i włączenia zasilania.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 maja 2017, o 13:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2017-05-08T13:40:02+01:00</updated>
<published>2017-05-08T13:40:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188671#p188671</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188671#p188671"/>
<title type="html"><![CDATA[Re: Różnica w pracy uC między RESET, a odłączeniem zasilania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188671#p188671"><![CDATA[
To cała funkcja (bez przypisów) z dodaną tylko jedną moją linijką na koniec odpowiedzialną za czyszczenie bufora, bo korzystam z LCD buforowanego odświeżanego po jednym znaku w każdym obiegu pętli głównej. Zmniejszone jest też opóźnienie przy wysyłaniu bajtu do LCD (na 42us - i tak jest to z zapasem, bo prawidłowo działało na jeszcze mniejszym opóźnieniu), ale to też sprawdzałem zwiększając go do oryginalnej wartości. Zresztą gdyby to opóźnienie miało w tym wypadku jakieś znaczenie to pewnie z tym LCD na całym ekranie były by krzaki, a nie tylko przy definiowanych znakach i tylko po pinResecie.<br /><br />[syntax=c]void lcd_init(void)<br />{<br />// inicjowanie pinów portów ustalonych do podłączenia z wyświetlaczem LCD<br />// ustawienie wszystkich jako wyjścia<br />data_dir_out();<br />DDR(LCD_RSPORT) |= (1&lt;&lt;LCD_RS);<br />DDR(LCD_EPORT) |= (1&lt;&lt;LCD_E);<br />#if USE_RW == 1<br />DDR(LCD_RWPORT) |= (1&lt;&lt;LCD_RW);<br />#endif<br /><br />PORT(LCD_RSPORT) |= (1&lt;&lt;LCD_RS);<br />PORT(LCD_EPORT) |= (1&lt;&lt;LCD_E);<br />#if USE_RW == 1<br />PORT(LCD_RWPORT) |= (1&lt;&lt;LCD_RW);<br />#endif<br /><br />_delay_ms(15);<br />PORT(LCD_EPORT) &amp;= ~(1&lt;&lt;LCD_E);<br />PORT(LCD_RSPORT) &amp;= ~(1&lt;&lt;LCD_RS);<br />#if USE_RW == 1<br />    PORT(LCD_RWPORT) &amp;= ~(1&lt;&lt;LCD_RW);<br />#endif<br /><br />// jeszcze nie można używać Busy Flag<br />SET_E;<br />lcd_sendHalf(0x03);// tryb 8-bitowy<br />CLR_E;<br />_delay_ms(4.1);<br /><br />SET_E;<br />lcd_sendHalf(0x03);// tryb 8-bitowy<br />CLR_E;<br />_delay_us(100);<br /><br />SET_E;<br />lcd_sendHalf(0x03);// tryb 8-bitowy<br />CLR_E;<br />_delay_us(100);<br /><br />SET_E;<br />lcd_sendHalf(0x02);// tryb 4-bitowy<br />CLR_E;<br />_delay_us(100);<br /><br />// już można używać Busy Flag<br />// tryb 4-bitowy, 2 wiersze, znak 5x7<br />lcd_write_cmd( LCDC_FUNC|LCDC_FUNC4B|LCDC_FUNC2L|LCDC_FUNC5x7 );<br />// wyłączenie kursora<br />lcd_write_cmd( LCDC_ONOFF|LCDC_CURSOROFF );<br />// włączenie wyświetlacza<br />lcd_write_cmd( LCDC_ONOFF|LCDC_DISPLAYON );<br />// przesuwanie kursora w prawo bez przesuwania zawartości ekranu<br />lcd_write_cmd( LCDC_ENTRY|LCDC_ENTRYR );<br /><br />// kasowanie ekranu<br />lcd_cls();<br />cls_buf();  //dodane - SylwekK<br />}[/syntax]<br /><br />(Mirku, jeśli się okaże, że w powyższym init wszystko jest ok to może wywal listing z tego postu z oczywistych względów, albo ja to edytuję tylko mi potwierdź.)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 8 maja 2017, o 13:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-05-08T12:36:16+01:00</updated>
<published>2017-05-08T12:36:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188665#p188665</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188665#p188665"/>
<title type="html"><![CDATA[Re: Różnica w pracy uC między RESET, a odłączeniem zasilania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188665#p188665"><![CDATA[
<div class="quotetitle">SylwekK napisał(a):</div><div class="quotecontent"><br />Wydaje mi się, że coś na rzeczy ma inicjacja LCD w końcu wszystko jest ok jak się go fizycznie od zasilania odłączy. Dziwne to jednak, że każdy reset &quot;pinowy&quot; ZAWSZE powoduje błąd, a po odłączeniu zasilania ZAWSZE startuje prawidłowo.<br /></div><br /><br />Możesz pokazać początek funkcji inicjalizacyjnej LCD ? nawet jeśli to kod z Bluebooka to proszę pokaż kod tej funkcji - zobaczymy - bo być może ja coś tam poprawiałem .... ale warto to doprowadzić do porządku gdyby coś w inicjalizacji było nie tak<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 maja 2017, o 12:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2017-05-08T12:16:09+01:00</updated>
<published>2017-05-08T12:16:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188662#p188662</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188662#p188662"/>
<title type="html"><![CDATA[Re: Różnica w pracy uC między RESET, a odłączeniem zasilania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188662#p188662"><![CDATA[
Wydaje mi się, że coś na rzeczy ma inicjacja LCD w końcu wszystko jest ok jak się go fizycznie od zasilania odłączy. Dziwne to jednak, że każdy reset &quot;pinowy&quot; ZAWSZE powoduje błąd, a po odłączeniu zasilania ZAWSZE startuje prawidłowo.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 8 maja 2017, o 12:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2017-05-08T10:28:04+01:00</updated>
<published>2017-05-08T10:28:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188658#p188658</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188658#p188658"/>
<title type="html"><![CDATA[Re: Różnica w pracy uC między RESET, a odłączeniem zasilania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188658#p188658"><![CDATA[
@zenekjar, Tyle, że ja definicje znaków we flashu trzymam (jak i w poprzednich moich programach bez doświadczania takich &quot;ciekawostek&quot;).<br /><br />@Jarecki, silniki są nie podłączone, bo dopiero zaczynam szkilet tworzyć i obsługę motorów na samym końcu dodam, a nawet jak by były podłączone to korzystam ze sprawdzonego już wcześniej sposobu filtracji, która NIGDY mnie nie zawiodła. Te same LCD (kupuję zawsze po kilkanaście sztuk) pracowały w poprzednich sterach. Zmienił się obecnie tylko procek z M168 na M32<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 8 maja 2017, o 10:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jarecki]]></name></author>
<updated>2017-05-08T10:17:55+01:00</updated>
<published>2017-05-08T10:17:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188657#p188657</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188657#p188657"/>
<title type="html"><![CDATA[Re: Różnica w pracy uC między RESET, a odłączeniem zasilania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188657#p188657"><![CDATA[
Moim zdaniem to i tak kwestia LCD, może te silniki generują jakieś szpileczki na liniach zasilania i pamięć LCD-ka świruje. Poeksperymentowałbym jeszcze z wyświetlaczami innych producentów<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2511">Jarecki</a> — 8 maja 2017, o 10:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2017-05-08T10:04:06+01:00</updated>
<published>2017-05-08T10:04:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188655#p188655</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188655#p188655"/>
<title type="html"><![CDATA[Różnica w pracy uC między RESET, a odłączeniem zasilania.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18357&amp;p=188655#p188655"><![CDATA[
Nie wiem czy to normalne, bo mi się to nie przytrafiło jeszcze na tym procku (Atmega32) właściwie to nigdy mi się to jeszcze nic podobnego nie przytrafiło, ale efekt dość zadziwiający. W teorii RESET procka (pin do masy) powinien być równoważny ze świeżym włączeniem zasilania, ale czy na pewno? Pisząc nowy program korzystam z moich sprawdzonych bibliotek i rozwiązań w 100% działających w niejednym programie na rodzinie Atmega48..328, a tu nagle zonk... definicja pierwszego znaku (a dokładnie pierwszej jego linii) leci w krzaki po każdym zaprogramowaniu jak i po resecie. Inicjacja LCD i definiowanych znaków oczywiście w prawidłowej kolejności z CLS na końcu. Myślałem, że uwalony wyświetlacz, więc wyłączyłem zasilanie wstawiłem inny LCD no i sukces działa! - do ponownego zaprogramowania procka i resetu... Okazało się, że dopiero chwilowe odłączenie zasilania czyli faktyczny start procka od zera nie powoduje defektu i program działa zgodnie z założeniami. Podmiana LCD upewniła mnie tylko, że wszystko dzieje się w programie i wewnątrz struktury procesora. Zaznaczam, że procek ma podpięte tylko drivery do silników i żadnych innych dodatkowych peryferiów tam nie ma. Ot prosty układ sterownika. Nie jest to może istotny błąd z punktu użytkownika (w końcu po włączeniu zasilania wszystko działa prawidłowo), ale krzaczki na etapie programowania mnie już troszkę drażnią... Spotkał się ktoś z czymś podobnym?<br />Film z działania:<br /><br /><!-- m --><a class="postlink" href="https://www.youtube.com/watch?v=yTnxFLr_bJY&amp;feature=youtu.be" >https://www.youtube.com/watch?v=yTnxFLr ... e=youtu.be</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 8 maja 2017, o 10:04</p><hr />
]]></content>
</entry>
</feed>