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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-11-24T21:08:06+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=4742&amp;mode</id>
<entry>
<author><name><![CDATA[egemini]]></name></author>
<updated>2013-11-23T20:01:58+01:00</updated>
<published>2013-11-23T20:01:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=58308#p58308</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=58308#p58308"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=58308#p58308"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />egemini napisał(a):<br />Dzięki Za uwagi Krauser,mirekk36, napiszcie proszę więcej o wątku z AREF podpiętym pod VCC ponieważ ja nie widzę błędu ;/<br />Na 2 schemacie AREF masz dobrze.<br /></div><br /><br />ta płytka była wykonana na podstawie tego właśnie schematu.<br /><br />Panowie, problem rozwiązany. Winowajcami były przerwania (no dobra, winowajcą byłem ja, niedoświadczony programista xD) kolega <strong>kazzik87</strong> naprowadził mnie na ten wątek, poszperałem tu i ówdzie i zastosowałem się do porad:<br />-za dużo kodu w procedurze obsługi przerwania nie jest wskazana - najlepiej ustawiać tam tylko flagę i kod obsługiwać w pętli głównej (jeśli nie zależy nam na mega dokładności ponieważ może się zdarzyć, że wystąpi przerwanie częściej niż kod je obsługujący,  i czasie reakcji ponieważ kod zostanie wykonany dopiero jakiś czas po ustawieniu flagi) obecnie mam część kodu w procedurze obsługi przerwania, część w pętli głównej<br />-do obsługi wyświetlaczy 7miosegmentowych nie należy ustawiać zbyt dużego odświeżania, ponieważ i tak nie zauważymy różnicy a przerwań będzie gęsto <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />WOW, problem taki rozwiązany! <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />EDIT:<br />tak trochę żeby się pochwalić, trochę z ekscytacji, pochwalę się, że aktualnie działa mi menu, wyświetlanie prędkości, przejechanej trasy, chwilowe spalanie, spalone paliwo, temperatura z dwóch czujników oraz napięcie akumulatora ^^<br />a, i jeszcze obroty silnika ^^<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1848">egemini</a> — 23 lis 2013, o 20:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-11-12T22:44:09+01:00</updated>
<published>2013-11-12T22:44:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56618#p56618</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56618#p56618"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56618#p56618"><![CDATA[
<div class="quotetitle">egemini napisał(a):</div><div class="quotecontent"><br />Dzięki Za uwagi  Krauser,mirekk36, napiszcie proszę więcej o wątku z AREF podpiętym pod VCC ponieważ ja nie widzę błędu ;/<br /></div>Na 2 schemacie AREF masz dobrze.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 12 lis 2013, o 22:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[egemini]]></name></author>
<updated>2013-11-12T22:39:55+01:00</updated>
<published>2013-11-12T22:39:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56616#p56616</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56616#p56616"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56616#p56616"><![CDATA[
Dzięki Za uwagi <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <strong>Krauser</strong>,<strong><span style="color: #00BF00">mirekk36</span></strong>, napiszcie proszę więcej o wątku z AREF podpiętym pod VCC ponieważ ja nie widzę błędu ;/ <br /><strong>kazzik87</strong>, ponawiam prośbę o wyjaśnienie w jaki sposób przerwanie do obsługi wyświetlacza ledowego może wchodzić w konflikt z obsługą USART, ponieważ uważam, że jest to dosyć poważnym zagrożeniem dla mojego projektu<br /><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=1848">egemini</a> — 12 lis 2013, o 22:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-11-11T10:54:11+01:00</updated>
<published>2013-11-11T10:54:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56314#p56314</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56314#p56314"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56314#p56314"><![CDATA[
Schemat zawiera błędy w obwodach regulacji jasności, ale zakładam, że sam je wyeliminowałeś. Polecam też na podstawie istniejących bibliotek wyświetlaczy LED zrobić swoją wersję. Nie jest to dużo roboty. Wystarczy dodać kliknąć prawym na wyświetlaczu (wybrać Open Device), dodać nowy variant i połączyć odpowiednie piny symbolu z obudową. Teraz to zaciemniasz schemat.<br /><br />Odnośnie programu i flagi sekundowej i innych podobnych to niby wiesz, a jednak nie wiesz, że jak zmienna jest modyfikowana w przerwaniu, a sprawdzana w pętli głównej to musi być z modyfikatorem volatile. Zmienne globalne sa zerowane i nie ma sensu pisać tego przy definicji.<br /> Nie dodawaj schematów jako zip, bo sam nic nie widzisz, a skąd inni mają wiedzieć jaki program otworzy plik sch. W Eagle masz File-&gt;Export-&gt;Image i wybierasz opcje Resolution 600 i Area Window<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 11 lis 2013, o 10:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[egemini]]></name></author>
<updated>2013-11-24T21:07:25+01:00</updated>
<published>2013-11-10T23:46:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56271#p56271</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56271#p56271"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56271#p56271"><![CDATA[
<strong>o kurczę, dopiero zorientowałem się co ja Wam wysłałem ;p. </strong><br />a nie jest to kondensator C7 podłączony do pinu 32 ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1848">egemini</a> — 10 lis 2013, o 23:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-11-10T23:34:04+01:00</updated>
<published>2013-11-10T23:34:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56268#p56268</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56268#p56268"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56268#p56268"><![CDATA[
<div class="quotetitle">egemini napisał(a):</div><div class="quotecontent"><br />schemat podłączenia brałem stąd: <!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2012/04/mi" >http://mirekk36.blogspot.com/2012/04/mi</a><!-- m --> ... lanie.html AREF podłączone jest do kondensatora, podłączone poprawnie<br /></div><br /><br />Panie kolego nie powołuj się na blog - skoro pokazujesz na swoim schemacie coś innego. Krauser słusznie ci podpowiada a ty dalej twierdzisz że widzisz na tym schemacie jakiś kondensator od AREF - gdzie ? się pytam ? gdzie ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> widzisz ten kondensator ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 10 lis 2013, o 23:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[egemini]]></name></author>
<updated>2013-11-10T23:18:37+01:00</updated>
<published>2013-11-10T23:18:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56266#p56266</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56266#p56266"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56266#p56266"><![CDATA[
<div class="quotetitle">Krauser napisał(a):</div><div class="quotecontent"><br />Podpiąłeś AVREF do 5V.<br /></div> schemat podłączenia brałem stąd: <!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2012/04/mikrokontroler-prawidowe-zasilanie.html" >http://mirekk36.blogspot.com/2012/04/mi ... lanie.html</a><!-- m --> AREF podłączone jest do kondensatora, podłączone poprawnie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><div class="quotetitle">kazzik87 napisał(a):</div><div class="quotecontent"><br />Sprawdzałeś działanie samego USARTU i LCD?<br />Przerwanie do obsługi wyświetlacza ledowego może wchodzić w konflikt z obsługą USART!<br /></div><br />sprawdzałem i.. nie wiem dlaczego muszę dodać w pętli głównej np. uart_puts(&quot;&quot;); bo inaczej nie startuje mi timer programowy (sekundy rosną, flaga sekundowa nie jest ustawiana) który jest właśnie w przerwaniu do obsługi wyświeltaczy ledowych.. multipleksowanie wyświetlaczy led działa.. i totalnie tego nie rozumiem, rozkładam ręce ;/ <strong>kazzik87</strong>, proszę powiedz po czym poznałeś, że może być tu problem?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1848">egemini</a> — 10 lis 2013, o 23:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-11-10T22:44:19+01:00</updated>
<published>2013-11-10T22:44:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56260#p56260</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56260#p56260"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56260#p56260"><![CDATA[
Podpiąłeś AVREF do 5V. Wcale się nie powinno tam podpinać, chyba, że wybierzesz AVREF zewnętrzne, a ty ustawiasz 2,56V.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 10 lis 2013, o 22:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[egemini]]></name></author>
<updated>2013-11-10T22:39:41+01:00</updated>
<published>2013-11-10T22:39:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56259#p56259</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56259#p56259"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56259#p56259"><![CDATA[
Ok poprawie dzięki <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ale problem krzaków był jeszcze zanim zaimplementowalem ten bufor lcd i używałem poprostu funkcji z biblioteki Pana Mirka więc problemu szukalbym gdzie indziej<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1848">egemini</a> — 10 lis 2013, o 22:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kazzik87]]></name></author>
<updated>2013-11-10T22:35:20+01:00</updated>
<published>2013-11-10T22:35:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56258#p56258</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56258#p56258"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56258#p56258"><![CDATA[
Schemat wygląda tak:<br /><a href="http://forum.atnel.pl/_obrazki/o/476/d57e7a059b1b71cb3c9d796aeb0c2902.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/476/d57e7a059b1b71cb3c9d796aeb0c2902.png" alt="Obrazek" /></a><br /><br />Sprawdzałeś działanie samego USARTU i LCD?<br />Przerwanie do obsługi wyświetlacza ledowego może wchodzić w konflikt z obsługą USART!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=476">kazzik87</a> — 10 lis 2013, o 22:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-11-10T22:39:23+01:00</updated>
<published>2013-11-10T22:33:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56257#p56257</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56257#p56257"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56257#p56257"><![CDATA[
[syntax=c]void wstaw_w_bufor(char *ptr, uint8_t x, uint8_t y)<br />{<br />   uint8_t i = 0; <br />   while( *(ptr + i) )<br />   {<br />      if( x+i &lt;= 15 ) bufor_lcd&#91;y&#93;&#91;x+i&#93;=*(ptr +i) ;<br />      i++;<br />   }<br />}[/syntax]<br />Trzeba tylko dodać prototyp, a używa się tak samo. Dodałem zabezpieczenie przed wyjściem poza tablicę. Jak nie będzie dalej działać to do każdej funkcji dodałbym takie zabezpieczenie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 10 lis 2013, o 22:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[egemini]]></name></author>
<updated>2013-11-24T21:08:06+01:00</updated>
<published>2013-11-10T22:16:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56251#p56251</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56251#p56251"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56251#p56251"><![CDATA[
<div class="quotetitle">kazzik87 napisał(a):</div><div class="quotecontent"><br />Nie rozumiem tego:<br />Składnia: [ Pobierz ] [ Ukryj ]<br />język c<br />while(tekst[i])<br />GeSHi<br /><br /><br />Kiedy się kończy pętla i czy w ogóle się kończy?<br /></div><br /><br /><br />skończy, na końcu tablicy jest null.<div class="quotetitle">Krauser napisał(a):</div><div class="quotecontent"><br />Tą funkcję lepiej napisz z użyciem wskaźnika<br /></div><br />właśnie znalazłem jakiś przykłąd funkcji z użyciem wskaźnika gdzieś w komentarzu na blogu mirekk36.blogspot.com i mi nie działało więc zrobiłem tak i jednak działa o.O <div class="quotetitle">Krauser napisał(a):</div><div class="quotecontent"><br />bo nie jest zakończony '\0'. Chyba, że to zmienisz:<br /></div><br />racja, zmieniłem, nie pomogło ;p<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1848">egemini</a> — 10 lis 2013, o 22:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-11-10T22:03:06+01:00</updated>
<published>2013-11-10T22:03:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56242#p56242</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56242#p56242"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56242#p56242"><![CDATA[
Nie możesz tak wysyłać do wyświetlacza:<br />[syntax=c]lcd_str(bufor_lcd&#91;0&#93;);<br />lcd_str(bufor_lcd&#91;1&#93;);[/syntax]<br />bo bufor[x] nie jest łańcuchem znaków, bo nie jest zakończony '\0'. Chyba, że to zmienisz:<br />[syntax=c]uint8_t bufor_lcd&#91;2&#93;&#91;16&#93;={<br />   {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','\0'},<br />   {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','\0'}<br />};[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 4 minutach ]</span></strong><br /><br /><div class="quotetitle">kazzik87 napisał(a):</div><div class="quotecontent"><br />Ładniej jest:<br />Składnia: [ Pobierz ] [ Ukryj ]<br />język c<br />void wstaw_w_bufor(tekst,uint8_t x,uint8_t y)<br /></div><br />Tak nie zadziała, ale słuszna uwaga. Tą funkcję lepiej napisz z użyciem wskaźnika.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 10 lis 2013, o 22:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kazzik87]]></name></author>
<updated>2013-11-10T22:00:32+01:00</updated>
<published>2013-11-10T22:00:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56240#p56240</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56240#p56240"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56240#p56240"><![CDATA[
1) Daj schemat płytki nie wygląd :-p<br /><br />Nie podoba mi się:<br />[syntax=c]void wstaw_w_bufor(char tekst&#91;&#93;,uint8_t x,uint8_t y)[/syntax]<br /><br />Ładniej jest:<br />[syntax=c]void wstaw_w_bufor(tekst,uint8_t x,uint8_t y)[/syntax]<br /><br />Nie rozumiem tego:<br />[syntax=c]while(tekst&#91;i&#93;)[/syntax]<br /><br />Kiedy się kończy pętla i czy w ogóle się kończy?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=476">kazzik87</a> — 10 lis 2013, o 22:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[egemini]]></name></author>
<updated>2013-11-10T22:16:32+01:00</updated>
<published>2013-11-10T21:37:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56234#p56234</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56234#p56234"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56234#p56234"><![CDATA[
załączam plik main.c , pozostałe biblioteki są każdemu dobrze znane <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;stdlib.h&gt;<br /> #include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br />#include &quot;led_display/led_display.h&quot;<br />#include &quot;myuart/myuart.h&quot;<br />#include &lt;avr/eeprom.h&gt;<br />//*******test ADC<br />uint16_t pomiar( uint8_t kanal );// pomiar napięcia z wybranego kanału<br /><br />void wstaw_w_bufor(char *txt, uint8_t x, uint8_t y); <br />void wyswietl_lcd(void);<br />void czysc_bufor(uint8_t x1, uint8_t x2,uint8_t y);<br />uint16_t adc1; // zmienna przechopwująca pomair adc<br /><br /><br /><br />// zmienne spalanie<br />volatile unsigned int imp_spalania=1;<br />volatile unsigned int imp_spalania_na_sek=1;<br />volatile int pre_obroty=0;<br />volatile int licznik=0;<br />char liczba&#91;5&#93;;<br /><br />// definicje bitów odpowiedzialnych za wybór źródła odniesienia<br />#define REF_256 (1&lt;&lt;REFS1)|(1&lt;&lt;REFS0)<br />#define REF_VCC (1&lt;&lt;REFS0)<br /><br />//*******test ADC<br />void Uc_Init(void){<br /><br /><br />//______inicjalizacja wejscia int0<br /><br />MCUCR|=(1&lt;&lt;ISC01)|(1&lt;&lt;ISC01); //rising<br />GICR|=(1&lt;&lt;INT0);<br />PORTD&amp;=~(1&lt;&lt;PD2); //do GND<br /><br />// inicjalizacja ADC<br />ADCSRA |= (1&lt;&lt;ADEN); // włącz ADC<br />ADCSRA |= (1&lt;&lt;ADPS2)|(1&lt;&lt;ADPS1)|(1&lt;&lt;ADPS0); // preskaler = 128<br />ADMUX |= REF_256;// ustawiamy wewn. źr odn. 2,56V<br /><br />// inicjalizacja counter2 do mierzenia spalania<br />TCCR2|=(1&lt;&lt;WGM21); //CTC mode<br />TCCR2|=(1&lt;&lt;CS21) | (1&lt;&lt;CS22) ;<br />OCR2=18; //<br />TIMSK|=(1&lt;&lt;OCIE2); // zezwolenie na przerwanie<br /><br />}<br /><br />volatile int impulsy_drogi=0;<br />volatile int impulsy_drogi_suma=0;<br /><br />uint8_t bufor_lcd&#91;2&#93;&#91;16&#93;={<br />{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},<br />{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '}<br />};<br /><br /><br />int main(){<br /><br />DDRA &amp;=~(1&lt;&lt;PA0); <br /><br />Uc_Init();<br />lcd_init();<br />led_display_init();<br />uart_init(__UBRR);<br />sei();<br /><br />split_number(0);<br /><br /><br />int b=0;<br /><br />lcd_cls();<br />wstaw_w_bufor(&quot;siema&quot;,0,0);<br />wyswietl_lcd();<br /><br /><br />while(1){<br /><br /><br />if(sek_flag){<br />split_number(impulsy_drogi);<br />uart_putint(impulsy_drogi,10);<br />uart_puts(&quot;;&quot;);<br />uart_putint(impulsy_drogi/1.41,10);<br />uart_puts(&quot;\n&quot;);<br />split_number(impulsy_drogi/1.41);<br />sek_flag=0;<br />czysc_bufor(0,2,0);<br />wstaw_w_bufor(&quot;abcdefg&quot;,2,0);<br /><br />czysc_bufor(0,5,1);<br />itoa(imp_spalania,liczba,10);<br />wstaw_w_bufor(liczba,0,1);<br /><br />czysc_bufor(7,3,1);<br />itoa(imp_spalania_na_sek,liczba,10);<br />wstaw_w_bufor(liczba,7,1);<br /><br /><br />czysc_bufor(12,3,1);<br />itoa(pre_obroty*200,liczba,10);<br />wstaw_w_bufor(liczba,12,1);<br />wyswietl_lcd();<br /><br />impulsy_drogi=0;<br />imp_spalania_na_sek=0;<br />pre_obroty=0;<br /><br /><br />}<br />}<br />}<br /><br /><br /><br /><br />ISR(INT0_vect){<br />impulsy_drogi++;<br />impulsy_drogi_suma++;<br />if(impulsy_drogi_suma&gt;5000){<br />impulsy_drogi_suma=0;<br />}<br />}<br /><br />ISR(TIMER2_COMP_vect)<br />{<br />static volatile int pre_obroty_flaga=1;<br /><br />if(PINA&amp;(1&lt;&lt;PC0))<br />{<br />if(imp_spalania)<br />{<br />imp_spalania++;<br />}<br />else<br />{<br />imp_spalania=1;<br />}<br /><br />imp_spalania_na_sek++;<br /><br />if(pre_obroty_flaga){<br />pre_obroty++;<br />pre_obroty_flaga=0;<br />}<br />}<br />else<br />{<br />pre_obroty_flaga=1;<br />}<br /><br /><br />}<br /><br /><br /><br />void wstaw_w_bufor(char tekst&#91;&#93;,uint8_t x,uint8_t y){<br />uint8_t i=0;<br />while(tekst&#91;i&#93;){<br />if(y==0){<br /><br />bufor_lcd&#91;0&#93;&#91;x+i&#93;=tekst&#91;i&#93;;<br />}<br />if(y==1){<br />bufor_lcd&#91;1&#93;&#91;x+i&#93;=tekst&#91;i&#93;;<br />}<br /><br />i++;<br />}<br />}<br /><br />void inline wyswietl_lcd(void){<br />lcd_locate(0,0);<br />lcd_str(bufor_lcd&#91;0&#93;);<br />lcd_locate(1,0);<br />lcd_str(bufor_lcd&#91;1&#93;);<br />}<br /><br /><br /><br />void czysc_bufor(uint8_t x1, uint8_t x2,uint8_t y){<br />uint8_t i;<br />if(y==0){<br />for(i=x1;i&lt;=x1+x2;i++)<br />bufor_lcd&#91;0&#93;&#91;i&#93;=' ';<br />}<br />if(y==1){<br />for(i=x1;i&lt;=x1+x2;i++)<br />bufor_lcd&#91;1&#93;&#91;i&#93;=' ';<br />}<br />}[/syntax]<br /><br />edytowany kod biblioteki do obsługi wyświetlaczy 7segmentowych oraz licznika programowego :<br />[syntax=c]uint8_t sek;<br /> uint8_t sek_flag;<br /><br /> uint8_t ms100_flag;<br /> uint8_t ms100;<br /><br /><br /><br />void led_display_init(void){<br />LED_DATA_DIR |= 0xff; // wyjscia<br />LED_DATA |= 0xff; // wygaszenie diod<br />ANODY_DIR|=CA1 | CA2 | CA3 | CA4 ; // katody wyjscia<br />ANODY_PORT|=CA1 | CA2 | CA3 | CA4 ; // wygaszenie wyswietlaczy<br /><br />TCCR0 |= (1&lt;&lt;WGM01); //tryb TCT<br />TCCR0 |= (1&lt;&lt;CS02) | (1&lt;&lt;CS00); // preskaler 1024<br />OCR0 = 45;<br />TIMSK |= (1&lt;&lt;OCIE0);<br /><br /><br />}<br /><br />ISR(TIMER0_COMP_vect){<br /><br /><br />static uint8_t an&#91;4&#93; = {~CA1,~CA2,~CA3,~CA4};<br />static uint8_t licznik=1;<br /><br />ANODY_PORT = MASKA_ANODY;<br /><br />if(licznik==0) LED_DATA =pgm_read_byte( &amp;data_led&#91;cy1&#93; );<br />else if(licznik==1) LED_DATA = pgm_read_byte( &amp;data_led&#91;cy2&#93; );<br />else if(licznik==2) LED_DATA = pgm_read_byte( &amp;data_led&#91;cy3&#93; );<br />else if(licznik==3) LED_DATA = pgm_read_byte( &amp;data_led&#91;cy4&#93; );<br /><br />ANODY_PORT &amp;= ~an&#91;licznik&#93;;<br /><br />if(++licznik&gt;3) {<br />licznik=0;<br />}<br />}<br /><br />void split_number(unsigned int number)<br />{<br />uint8_t d1,d2,d3,d4;<br /><br />d1=(number/1000)%10;<br />if(d1) cy4=d1; else cy4=0;<br /><br />d2=(number/100)%10;<br />if(d2) cy3=d2; else cy3=0;<br /><br />d3=(number/10)%10;<br />if(d3) cy2=d3; else cy2=0;<br /><br />d4=number%10;<br />if(d4) cy1=d4; else cy1=0;<br /><br /><br />}[/syntax]<br /><br /><br /><br />i jeszcze dodam, że co jakiś czas na chwilę wszystko wyświetla się prawidłowo, by za chwilę znowu się popsuć heh<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1848">egemini</a> — 10 lis 2013, o 21:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kazzik87]]></name></author>
<updated>2013-11-10T21:21:57+01:00</updated>
<published>2013-11-10T21:21:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56228#p56228</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56228#p56228"/>
<title type="html"><![CDATA[Re: lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56228#p56228"><![CDATA[
1) Daj schemat płytek.<br />2) Daj kod.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=476">kazzik87</a> — 10 lis 2013, o 21:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[egemini]]></name></author>
<updated>2013-11-10T21:11:36+01:00</updated>
<published>2013-11-10T21:11:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56223#p56223</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56223#p56223"/>
<title type="html"><![CDATA[lcd hd44780 - &quot;skaczące&quot; krzaki ;p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4742&amp;p=56223#p56223"><![CDATA[
Witam <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> mam problem z wyświetlaczem hd44780. Mianowicie mam programik który co sekundę wyświetla na owym wyświetlaczu mierzone dane. Po uruchomieniu programu jest wszystko ładnie pięknie, ale po kilku sekundach na ekranie dzieją się dziwne rzeczy. Już tłumaczę: dane wyświetlane na dolnej linii, po części wyświetlane są na górnej, wyświetlane są znaki zapytania, strzałki, &quot;krzaki&quot;,  zmienia się kontrast wyświetlacza na ciemniejszy (kręcąc potencjometrem można ustawić by wyświetlane znaki były widoczne), włącza się kursor z miganiem(co domyslnie jest wylączone) ale najdziwniejsze jest to, że kursor jakby się rozciąga do połowy dolnej linii, o tak:<br /><a href="http://forum.atnel.pl/_obrazki/o/1848/b9729d4d2bcf7e547e5cc3d2f04c21d4.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1848/b9729d4d2bcf7e547e5cc3d2f04c21d4.jpg" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/1848/1d48de7a7a55fc2d191c9a9c699c49b5.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1848/1d48de7a7a55fc2d191c9a9c699c49b5.jpg" alt="Obrazek" /></a><br /><br />moje pytanie:<br />w projekcie korzystam z bibliotek (lekko zmodyfikowanych) Pana Mirka, do oblsugi UART, wyswietlaczy 7segmentowych oraz do wyswietlacza hd44780. <br />Co właściwie może być przyczyną takiego zachowania? błąd na płytce drukowanej? Możliwe jest tu przepełnienie stosu?(chyba nie, Program (19.2% Full) Data: (18.0% Full)) nie wywołuję funkcji do obslugi wyswietlacza w procedurach obsługi przerwań, tylko w pętli głównej w timerze programowym co sekundę. Czy to może uszkodzony wyswietlacz? Wiem, że bez kodu ciężko coś zweryfikować, mogę wysłać za jakiś czas bo ciągle nad tym pracuję ale może po prostu są to jakieś charakterystyczne objawy<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1848">egemini</a> — 10 lis 2013, o 21:11</p><hr />
]]></content>
</entry>
</feed>