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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-08-07T21:02:08+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=7742&amp;mode</id>
<entry>
<author><name><![CDATA[Mac]]></name></author>
<updated>2014-08-07T21:02:08+01:00</updated>
<published>2014-08-07T21:02:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=90621#p90621</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=90621#p90621"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=90621#p90621"><![CDATA[
Witam<br /><br />Przedstawiam końcowy efekt zmagań w tym temacie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><a href="http://forum.atnel.pl/_obrazki/o/3917/67c06c03f451bcf070c605915ddcab5a.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/3917/67c06c03f451bcf070c605915ddcab5a.jpg" alt="Obrazek" /></a><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 20 minutach ]</span></strong><br /><br />Dziekuje P.Mirku za wyjaśnienie zagadnienia związanego z flagami. <br />No i jeszcze chciałbym dodać że mając takie zaplecze jakie Pan stworzył( poradniki video, książki, to forum) to dla mnie jest to wspaniała przygoda z nauką programowania i kursem eagle.<br />Sam jestem mechanikiem okrętowym i wcześniej hobbystycznie interesowałem się elektronika, no a teraz mikrokontrolery i możliwości jakie one daja w sterowaniu roznych urządzeń fascynuje mnie.<br />Oby tylko czasu starczyło na to hobby;-)<br />Pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3917">Mac</a> — 7 sie 2014, o 21:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-07-30T23:11:33+01:00</updated>
<published>2014-07-30T23:11:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=89560#p89560</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=89560#p89560"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=89560#p89560"><![CDATA[
<div class="quotetitle">Mac napisał(a):</div><div class="quotecontent"><br />Ta flaga pojawia się co sekundę ale pytanie jaka jest częstotliwośc sprawdzania czy ta flaga już się pojawiła<br /></div><br /><br />Częstotliwość sprawdzania to ilość obiegów pętli while i nikomu ten czas tak z grubsza rzecz biorąc nie jest potrzebny bo jest on BARDZO zmienny .... od czego zależy? od tego ile rzeczy napiszesz do wykonania w tejże pętli głównej i ile czasu każda z tych rzeczy będzie się wykonywać ...<br /><br />Generalnie podejdź do tego w ten sposób - że jeśli masz dobrze pisany program, bez żadnych delayów czyli w sposób nieblokujący to pętla główna obraca się wiele tysięcy razy w ciągu sekundy w zależności oczywiście od taktowania procka. To jest ASYNCHRONICZNE sprawdzanie stanu flagi ...<br /><br /><div class="quotetitle">Mac napisał(a):</div><div class="quotecontent"><br />Druga sprawa dotyczy samych flag - pierwszy raz się z nimi spotkałem właśnie w tym ćw. na razie sobie to tłmacze że to jest jakiś ustalony przezemnie znacznik który się pojawia gdy jakiś warunek w timerze jest spełniony i za pomocą niego w głownym programie można wykonywać jakies zadania<br /></div><br /><br />No i dokładnie o tym piszę w książce ... tak jest z podstawowym zrozumieniem flag programowych ... nie inaczej.<br /><br /><div class="quotetitle">Mac napisał(a):</div><div class="quotecontent"><br />Ma ktoś jakiś link do jakiegoś wyjaśnienia jak i z czym to się je, albo jakiś własny opis wyjaśniający zasady rządzące flagami.<br /></div><br /><br />Nie ma żadnego sprecyzowanego opisu zarządzania flagami - jak rozumiesz o co chodzi - a widać po opisie że rozumiesz - to ty sam ten mechanizm możesz już dalej wykorzystywać na setki miliony sposobów i do czego zechcesz. Inaczej jest z flagami sprzętowymi - bo takie też są - i zwykle są one opisane w bitach w rejestrach konfiguracyjnych różnych modułów procka. A działają na podobnej zasadzie. Gdy coś się w danym module wydarzy to procek ustawia flagę na JEDEN, dzięki czemu może się albo wykonać przerwanie jeśli tego chcemy, albo równie dobrze możemy nie wywoływać przerwania tylko sprawdzać warunkiem IF taką sprzętową flagę ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 lip 2014, o 23:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mac]]></name></author>
<updated>2014-07-30T22:47:53+01:00</updated>
<published>2014-07-30T22:47:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=89559#p89559</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=89559#p89559"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=89559#p89559"><![CDATA[
Witam <br />chciałbym się jeszcze dowiedzieć paru rzeczy w związku z tym programem<br /><br />Pierwsza sprawa dotyczy petli while gdzie instrukcja if sprawdza (s1_flag) i jeśli ona się pojawi to są wykonywane zadania. Ta flaga pojawia się co sekundę ale pytanie jaka jest częstotliwośc sprawdzania czy ta flaga już się pojawiła, czy dyktuje to czestotliwośc taktowania procesora podzielona przez preskaler czy tez inny mechanizm jest tutaj zastosowany?<br /><br />Druga sprawa dotyczy samych flag - pierwszy raz się z nimi spotkałem właśnie w tym ćw. na razie sobie to tłmacze że to jest jakiś ustalony przezemnie znacznik który się pojawia gdy jakiś warunek w timerze jest spełniony i za pomocą niego w głownym programie można wykonywać jakies zadania. Ma ktoś jakiś link do jakiegoś wyjaśnienia jak i z czym to się je, albo jakiś własny opis wyjaśniający zasady rządzące flagami.<br /><br />z góry dzięki<br /><br />Pozdrawiam; Mac<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3917">Mac</a> — 30 lip 2014, o 22:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mac]]></name></author>
<updated>2014-07-21T11:05:16+01:00</updated>
<published>2014-07-21T11:05:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88329#p88329</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88329#p88329"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88329#p88329"><![CDATA[
Acha to o to chodzi - dzięki - mi tak czasem trzeba coś wiecie jak dziecku.<br />pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3917">Mac</a> — 21 lip 2014, o 11:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mac]]></name></author>
<updated>2014-07-21T10:38:23+01:00</updated>
<published>2014-07-21T10:38:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88325#p88325</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88325#p88325"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88325#p88325"><![CDATA[
No tak tylko hmm... yyyy... kiedy mówimy o zagnieżdżeniu ( co to jest to niedozwolone zagnieżdżenie)?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3917">Mac</a> — 21 lip 2014, o 10:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mac]]></name></author>
<updated>2014-07-20T22:53:33+01:00</updated>
<published>2014-07-20T22:53:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88278#p88278</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88278#p88278"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88278#p88278"><![CDATA[
Uprzejmie donoszę że termometr już działa.<br />Piekne uczucie jak coś w końcu zaczyna działać tak jak chcesz.<br /><br />Piotrek tak jak pisałeś przeniesienie ciała tej f. poza f. main rozwiązało problem<br />jeszcze tylko nie wiem czemu musi ono być poza f. main, ale to zostawię sobie na jutro ( ide spać)<br /><br />Chciałem podziekowac wszystkim za pomoc w moich zmaganiach z programowaniem.<br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3917">Mac</a> — 20 lip 2014, o 22:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Piotrek_P]]></name></author>
<updated>2014-07-20T21:49:09+01:00</updated>
<published>2014-07-20T21:49:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88269#p88269</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88269#p88269"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88269#p88269"><![CDATA[
Przenieś ciało funkcji display_temp poza funkcję main i powinno być OK.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=290">Piotrek_P</a> — 20 lip 2014, o 21:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mac]]></name></author>
<updated>2014-07-20T21:14:12+01:00</updated>
<published>2014-07-20T21:14:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88267#p88267</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88267#p88267"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88267#p88267"><![CDATA[
Spróbowałem napisac program i jak zwykle eclipse zaczął krzyczeć tyle ze ja zabardzo już nie wiem co go boli;-)<br /><br /><br />main.c:(.text+0x3a): undefined reference to `display_temp'<br />main.c:(.text+0x8a): undefined reference to `display_temp'<br />make: *** [Term11.elf] Error 1<br /><br />a to kod main .c<br /><br />[syntax=c]void display_temp (void);<br /> uint8_t czujniki_cnt;<br /><br /> uint8_t subzero,cel,cel_fract_bits;<br /> int main(void)<br /> {<br /> d_led_init();<br /> czujniki_cnt = search_sensors();<br /> DS18X20_start_meas(DS18X20_POWER_EXTERN,NULL);<br /> _delay_ms(750);<br /> if(DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;0&#93;,&amp;subzero,&amp;cel,&amp;cel_fract_bits))<br /> display_temp();<br /> else{<br /> cy1 = 11;<br /> cy2 = 11;<br /> cy3 = 11;<br /> cy4 = 11;<br /> }<br /> sei();<br /> while(1)<br /> {<br /> if(s1_flag)<br /> {<br /><br /> if(0 == (sekundy%2))DS18X20_start_meas(DS18X20_POWER_EXTERN,NULL);<br /> if(1 == (sekundy%2))<br /> {<br /> if(DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;0&#93;, &amp;subzero,&amp;cel,&amp;cel_fract_bits))<br /> display_temp();<br /> else<br /> {<br />         cy1 = 11;<br />  cy2 = 11;<br />  cy3 = 11;<br />  cy4 = 11;<br /><br /> }<br /> }<br /><br />s1_flag = 0;<br /><br /> }<br /><br /> }<br /><br />void display_temp(void)<br />{<br />if(subzero) cy1 = 11;<br />else<br />cy1 = 12;<br />    cy2 = (cel)/10;<br />    cy3 = (cel)%10;<br />    cy4 = cel_fract_bits;<br /><br /><br /><br />}<br /><br /><br /><br /><br /><br /><br /> }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3917">Mac</a> — 20 lip 2014, o 21:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-07-20T12:51:04+01:00</updated>
<published>2014-07-20T12:51:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88180#p88180</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88180#p88180"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88180#p88180"><![CDATA[
Ja wyświetlanie kropek rozwiązałem w taki sposób <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7744.html#p87600" >topic7744.html#p87600</a><!-- l --><br /><br />Jeśli potrzebujesz tylko jedną kropkę to nie musisz tworzyć czterech zmiennych <strong>kropkaX</strong>. Wystarczy jedna. No i w przerwaniu wystarczy zmodyfikować tylko tą część kodu odpowiedzialną za wyświetlanie cyfr na tym wyświetlaczu na którym ma się też wyświetlać kropka.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 20 lip 2014, o 12:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mac]]></name></author>
<updated>2014-07-20T11:34:55+01:00</updated>
<published>2014-07-20T11:34:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88174#p88174</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88174#p88174"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88174#p88174"><![CDATA[
a co myślisz o kropce - w dobry kierunku idę?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3917">Mac</a> — 20 lip 2014, o 11:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Elektronik]]></name></author>
<updated>2014-07-20T11:27:33+01:00</updated>
<published>2014-07-20T11:27:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88173#p88173</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88173#p88173"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88173#p88173"><![CDATA[
<div class="quotetitle">Mac napisał(a):</div><div class="quotecontent"><br />sorry za biblioteki - czy tu chodzi o jakieś prawa autorskie ?<br /></div><br /><br /><br />Tak chodzi o prawa autorskie pliki main.c możesz publikować ale biblioteki już nie tylko części zmienione.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=858">Elektronik</a> — 20 lip 2014, o 11:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mac]]></name></author>
<updated>2014-07-20T11:14:47+01:00</updated>
<published>2014-07-20T11:14:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88171#p88171</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88171#p88171"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88171#p88171"><![CDATA[
sorry za biblioteki - czy tu chodzi o jakies prawa autorskie ?<br /> nad kropką myślałem i chyba najlepiej będzie dodać do przerwania z cw. muliplex.. led dodatkową &quot;cy(x)&quot; i dodać kropkę do tablicy i dołączyć ją do cy3 tzn gdy:<br />else if( licznik==4) LED_DATA = pgm_read_byte ( &amp;cyfry[cy3][cy(x)])<br /><br />mysle ze cos w tym kierunku będę kombinował<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3917">Mac</a> — 20 lip 2014, o 11:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Elektronik]]></name></author>
<updated>2014-07-20T10:45:18+01:00</updated>
<published>2014-07-20T10:45:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88169#p88169</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88169#p88169"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88169#p88169"><![CDATA[
Ten program wyświetla tylko części całkowite temperatury ale jeżeli wpiszesz cy4= cel_fract_bits to będziesz miał temperaturę wyświetlaną z dokładnością 1/10 stopnia. Ciekawe jak sobie poradzisz z wyświetleniem kropki na wyświetlaczu, bo ja mam z tym problem. Usuń biblioteki nie wolno ich publikować na forum.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=858">Elektronik</a> — 20 lip 2014, o 10:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mac]]></name></author>
<updated>2014-07-20T08:23:26+01:00</updated>
<published>2014-07-20T08:23:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88158#p88158</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88158#p88158"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=88158#p88158"><![CDATA[
Witam ponownie<br /><br />Tak zastanawiam się nad tym termometrem i dochodze do wniosku ze to wcale nie jest taka prosta<br />sprawa;-) , ale chyba to będzie polegało na tym że<br /><br />1. musze dodać do procedury przerwania z cw. multiplex.. led procedurę z 1 wire gdzie znajduje się timer programowy.<br />2 zmodyfikować funkcje display_temp tak jak to zrobił jari17 w podanym przez elektronika linku<br /><br /><br /> [syntax=c]void display_temp(void) {<br /><br />113.<br /> <br /><br />114.<br />                if(subzero) cy1=11;     /* jeśli subzero==1 wyświetla znak minus (temp. ujemna) */<br /><br />115.<br />                else cy1=12;    /* jeśli subzero==0 wyświetl spację zamiast znaku minus (temp. dodatnia) */<br /><br />116.<br />                cy2=(cel)/10;<br /><br />117.<br />                cy3=(cel)%10;<br /><br />118.<br />                cy4=12;[/syntax]<br /><br />tylko zastanawiam się dlaczego cy4 = 12 gdzie 12oznacza tutaj spacje tak jak to ma miejsce przy subzero , a powinna zostać wyświetlona jakaś konkretna wartość po kropce<br />czy nie powinno być cy4= cel_fract_bits ?<br /><br />pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3917">Mac</a> — 20 lip 2014, o 08:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Elektronik]]></name></author>
<updated>2014-07-17T08:28:50+01:00</updated>
<published>2014-07-17T08:28:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87850#p87850</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87850#p87850"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87850#p87850"><![CDATA[
Witam<br /><br />Gdybyś miał problem to możesz się wzorować na: <br /><a href="http://forum.atnel.pl/topic7783.html"  class="postlink">http://forum.atnel.pl/topic7783.html</a><br /><br />Pozdrawiam<br />Elektronik<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=858">Elektronik</a> — 17 lip 2014, o 08:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[alef]]></name></author>
<updated>2014-07-16T21:11:13+01:00</updated>
<published>2014-07-16T21:11:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87813#p87813</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87813#p87813"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87813#p87813"><![CDATA[
Przerabiałem problem wyświetlacza LED i 1wire na 2313 i chętnie służę pomocą.<br />Do obsługi 1wire napisałem (może to za dużo powiedziane) funkcje, które zawierają jedynie niezbędne elementy.<br />Dlatego radzę, by kontynuować temat wyświetlacza LED i wzbogacić go o pomiar temperatury.<br /><br />Dodam jeszcze, że w przypadku, gdy program nie działa warto skorzystać z symulatora. To naprawdę znakomite narzędzie i  warto zawrzeć z nim bliższą znajomość.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3742">alef</a> — 16 lip 2014, o 21:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mac]]></name></author>
<updated>2014-07-16T20:33:21+01:00</updated>
<published>2014-07-16T20:33:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87804#p87804</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87804#p87804"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87804#p87804"><![CDATA[
Dzięki alef i mierek za pomoc wyświetlacz już śmiga na attiny 2313, przy okazji wyszło jeszcze że źle wybrałem piny dla anod powinny być od PD0-3 a miałem od PD1-4 <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><br />Ale już nabrałem chęci żeby zrobić pierwszy mój termometr, także przeskoczę od razu do ćw. 1 wire<br />szkoda że jest to oparte na wyświetlaczu LCD ale jakos sobie chyba to przerobie.<br /> pozdrawiam.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 4 minutach ]</span></strong><br /><br />Jeszcze chciałem dodać ze to jest super sposób na znalezienie błędu w programie za pomocą diody i petli while , poradniki mirka są genialne.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3917">Mac</a> — 16 lip 2014, o 20:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[alef]]></name></author>
<updated>2014-07-12T14:27:48+01:00</updated>
<published>2014-07-12T14:27:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87348#p87348</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87348#p87348"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87348#p87348"><![CDATA[
Jest błąd w ustawieniu timera - dwa razy wpisujesz do rejestru TCCR0A, ten drugi powinien być TCCR0B , a tak zamazujesz wartość w TCCR0A i zamiast nadać mu wartość 2 nadajesz 5.<br />W obsłudze przerwania gasisz wyświetlacze, ale ich nie zapalasz - zmienna licznik nie zmienia wartości ANODY_PORT.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3742">alef</a> — 12 lip 2014, o 14:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-07-12T11:54:48+01:00</updated>
<published>2014-07-12T11:54:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87321#p87321</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87321#p87321"/>
<title type="html"><![CDATA[Re: Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87321#p87321"><![CDATA[
A sprawdzałeś w ogóle jedną diodą LED czy działa ci przerwanie multipleksowania ? bo coś mi pachnie że nie za bardzo ....<br /><br />obejrzyj sobie to:<br /><br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2014/04/puapki-programowe-debuger-na-jednej.html" >http://mirekk36.blogspot.com/2014/04/pu ... ednej.html</a><!-- m --><br /><br />a potem zastanów się - jak już sprawdzisz że ci nie działa to przerwanie - coś tu w kodzie zrobił:<br /><br />[syntax=c]TCCR0A |= (1&lt;&lt;CS02) | (1&lt;&lt;CS00); // ustawienie preskalera ( podział przez 1024)[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 lip 2014, o 11:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mac]]></name></author>
<updated>2014-07-20T11:02:11+01:00</updated>
<published>2014-07-12T10:35:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87311#p87311</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87311#p87311"/>
<title type="html"><![CDATA[Problem z ćw. Multipleksowe led - przerwania z blubooka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7742&amp;p=87311#p87311"><![CDATA[
Witam<br /><br />Próbowałem przerobić to ćw tak żeby chodziło na attiny 2313 ale chyba jestem jeszcze za cienki w te klocki <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /> mogę jedynie powiedzieć że od strony podłączeniowej jest wszystko ok bo jak wystawiam na wszystkie bazy tranzystorów npn satn niski (anody wyświetlacza) i stan niski na wszystkie segmenty to wszystkie segmenty 4 cyfr. wyświetlacza się palą. <br /><br />Także problem tkwi w programie- może używam złych rejestrów lub nazw w przeraniach.<br />Dobrze by było żeby jakiś fachowiec rzucił na to okiem;-)<br />z góry dzięki za pomoc!!<br /><br />Przypomne jeszcze ze zadanie w tym ćw. polega na tym aby w oparciu o przerwania cyklicznie załączały się kolejne cyfry tak aby płynnie wyświetlały się cyfry 1495<br /><br />oto kod:<br /><br />plik main.c<br /><br />[syntax=c]int main (void)<br />{<br /><br />d_led_init();<br /><br />cy1 = 1;<br />cy2 = 4;<br />cy3 = 9;<br />cy4 = 5;<br /><br />sei ();<br /><br /><br />while(1)<br />{<br />// kod programu<br />}<br /><br />}[/syntax]<br /><br />plik d_led.c<br /><br /><br />[syntax=c]volatile uint8_t cy1;<br />volatile uint8_t cy2;<br />volatile uint8_t cy3;<br />volatile uint8_t cy4;<br /><br />// definicja tablicy zawierającej definicje bitowe cyfr LED<br />const uint8_t cyfry&#91;15&#93; PROGMEM = {<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F),// 0<br />~(SEG_B|SEG_C),// 1<br />~(SEG_A|SEG_B|SEG_D|SEG_E|SEG_G),// 2<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_G),// 3<br />~(SEG_B|SEG_C|SEG_F|SEG_G),// 4<br />~(SEG_A|SEG_C|SEG_D|SEG_F|SEG_G),// 5<br />~(SEG_A|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G),// 6<br />~(SEG_A|SEG_B|SEG_C|SEG_F),// 7<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G),// 8<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_F|SEG_G),// 9<br />0xFF// NIC (puste miejsce)<br />};<br /><br />void d_led_init(void)<br />{<br />   LED_DATA_DIR = 0xFF; // wszystkie piny PORTU B jako wyjscia<br />   LED_DATA = 0xFF; // wygaszenie wszystkich katod ( stan wysoki)<br />   // 4 piny PORTU D jako WYJSCIA anody<br />   ANODY_DIR |= CA1 | CA2 | CA3 | CA4;<br />   ANODY_PORT |= CA1 | CA2 | CA3 | CA4;<br /><br />   TCCR0A |= (1&lt;&lt;WGM01); // Tryb timera 0 CTC - ustawianie bitu<br />   TCCR0A |= (1&lt;&lt;CS02) | (1&lt;&lt;CS00); // ustawienie preskalera ( podział przez 1024)<br />   OCR0A = 38; // wartosc porównawcza<br />   TIMSK |= (1&lt;&lt;OCIE0A); // odblokowanie przerwania<br /><br />}<br /><br />ISR (TIMER0_COMPA_vect) // nazwa przerwania związana z trybem compare match<br />{<br />static uint8_t licznik = 1;<br /><br />ANODY_PORT = (ANODY_PORT &amp; 0xF0);// wygaszenie wszystkich wyświetlaczy<br />    <br />    if(licznik == 1) LED_DATA = pgm_read_byte ( &amp;cyfry&#91;cy1&#93;);<br />    else if(licznik == 2) LED_DATA = pgm_read_byte ( &amp;cyfry&#91;cy2&#93;);<br />    else if(licznik == 4) LED_DATA = pgm_read_byte ( &amp;cyfry&#91;cy3&#93;);<br />    else if (licznik == 8) LED_DATA = pgm_read_byte ( &amp;cyfry&#91;cy4&#93;);<br /><br />    <br /><br />    licznik &lt;&lt;=1; // przesuniecie zawartosci bitów licznika o 1 w lewo<br />    if(licznik &gt; 8) licznik = 1;<br /><br /><br />}[/syntax]<br /><br /><br /><br />[syntax=c]#ifndef D_LED_H_<br />#define D_LED_H_<br /><br />#define LED_DATA PORTB<br />#define LED_DATA_DIR DDRB<br />#define ANODY_PORT PORTD<br />#define ANODY_DIR  DDRD<br /><br />#define CA1 (1&lt;&lt;PD1)<br />#define CA2 (1&lt;&lt;PD2)<br />#define CA3 (1&lt;&lt;PD3)<br />#define CA4 (1&lt;&lt;PD4)<br /><br />// definicje bitów dla poszczególnych segmentów LED<br />#define SEG_A (1&lt;&lt;0)<br />#define SEG_B (1&lt;&lt;1)<br />#define SEG_C (1&lt;&lt;2)<br />#define SEG_D (1&lt;&lt;3)<br />#define SEG_E (1&lt;&lt;4)<br />#define SEG_F (1&lt;&lt;5)<br />#define SEG_G (1&lt;&lt;6)<br />#define SEG_DP (1&lt;&lt;7)<br /><br /><br /><br />extern volatile uint8_t cy1;<br />extern volatile uint8_t cy2;<br />extern volatile uint8_t cy3;<br />extern volatile uint8_t cy4;<br /><br />void d_led_init (void);<br /><br /><br />#endif /* D_LED_H_ */[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3917">Mac</a> — 12 lip 2014, o 10:35</p><hr />
]]></content>
</entry>
</feed>