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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-01-13T09:32:39+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=12&amp;t=1391&amp;mode</id>
<entry>
<author><name><![CDATA[verso]]></name></author>
<updated>2013-01-13T09:32:39+01:00</updated>
<published>2013-01-13T09:32:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=24616#p24616</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=24616#p24616"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=24616#p24616"><![CDATA[
No właśnie według mnie też. Tym bardziej że cała procedura 1wire jest w pętli &quot;case&quot; z multipleksowania jest wysyłany rozkaż  co 4ms właśnie w momencie przerywania, to jak ma to działać skoro kiedy występuje przerwanie blokowana jest 1wire ? rozkaz musiał by być wysyłany zanim jeszcze wystąpi przerwanie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=830">verso</a> — 13 sty 2013, o 09:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[verso]]></name></author>
<updated>2013-01-12T21:27:55+01:00</updated>
<published>2013-01-12T21:27:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=24591#p24591</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=24591#p24591"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=24591#p24591"><![CDATA[
Witam. Jestem nowy na tym forum, zainteresował mnie ten wątek gdyż od dłuższego czasu zmagam się z problemem pogodzenia multipleksowania i 1wire. Mam taką prośbę czy może mi ktoś wytłumaczyć działanie tych fragmentów kodu podanego przez : <strong>jacekk232</strong> bo próbowałem to wykorzystać i za nic nie chce działać i jeszcze trochę to sobie wszystkie włosy wyrwę z głowy bo albo ja czegoś nie rozumiem, ale według mnie to nie będzie działać poprawnie....<br /><br />We fragmencie multipleksowania jest: [syntax=basic4gl] <br /><br />    Wysw_co_4ms:<br />    Wyslij_rozkaz = 1<br />    'ustawienie flagi spowoduje, że w pętli głównej<br />    'zostanie wysłany kolejny rozkaz do DS-a<br />     <br />    'obsługa multipleksowania wyświetlaczy LED<br />    Incr Wysw<br />    If Wysw = 4 Then Wysw = 0<br />    Portb.0 = 0                                     'gaśimy wyświetlacze<br />    Portb.1 = 0<br />    Portb.2 = 0<br />    Portb.3 = 0<br />    Select Case Wysw<br />       Case 0:<br />          Portd = Lookup(dp , Tabela)<br />          Portb.0 = 1<br />       Case 1:<br />          Portd = Lookup(j , Tabela)<br />          Portb.1 = 1<br />       Case 2:<br />          Portd = Lookup(d , Tabela)<br />          Portb.2 = 1<br />       Case 3:<br />          Portd = Lookup(znak , Tabela)<br />          Portb.3 = 1<br />    End Select<br />    Return<br /><br />GeSHi[/syntax]<br /><br />ja to rozumiem w ten sposób że w momencie wystąpienia przerwania (co4ms) zostaje ustawiona flaga wysil rozkaz = 1. I jak to ma działać skoro zostaje ona ustawiona w momencie wystąpienia przerwania, a nie w trakcie kiedy licznik lizy i jeszcze przerwanie nie wystąpiło ?<br /><br />nie kumam tego...<br />pomoże ktoś ?<br /><br />pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=830">verso</a> — 12 sty 2013, o 21:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marciu11]]></name></author>
<updated>2012-08-12T22:58:06+01:00</updated>
<published>2012-08-12T22:58:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12476#p12476</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12476#p12476"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12476#p12476"><![CDATA[
Dzięki za pomoc Ale jak by nie patrzeć, wątek przekształcił się w dyskusję o wyższości świąt Wielkiej Nocy nad świętami Bożego Narodzenia. Odpowiedzi z pomocą padły 2-3 a reszta postów jest o wyższości jednego języka nad drugim. <br />A nie o to tu chyba chodzi. Prawda?  <br />Jak jest wydzielony wątek forum o Bascomie to szanujmy to.  <br /><br />Dzięki jacekk232 za konkretny przykład i naprowadzenie i Mirkowi za utwierdzenie. <br />Temat uważam za wyjaśniony i wyczerpany. Reszta postów jest po prostu nic nie wnosząca, przepychanką o wyższości jednego języka nad drugim. <br /><br />Nie róbmy z tego zacnego forum drugiej elektrody.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=463">marciu11</a> — 12 sie 2012, o 22:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-08-12T20:37:02+01:00</updated>
<published>2012-08-12T20:37:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12469#p12469</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12469#p12469"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12469#p12469"><![CDATA[
No widzisz kolego ja też tak traktowałem BAscoma , ale teraz wyparło go Arduino  <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=58">SunRiver</a> — 12 sie 2012, o 20:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-08-10T18:40:15+01:00</updated>
<published>2012-08-10T18:40:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12293#p12293</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12293#p12293"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12293#p12293"><![CDATA[
Ok ale nie przekształcajmy tego tematu w dyskusję o wyższości języka nad językiem - przecież z tego co widzę ostatecznie nikt tu nie dyskfalifukuje Bascoma bo nie o to chodzi przecież ... Gdyby tak miało być to pewnie by tego działu nie było na forum. Dajmy więc pokój dyskusji o wyższości jednego nad drugim a skupmy się rzeczywiście na poradach dla osób tu zaglądających i wszyscy będą szczęśliwi..... <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 10 sie 2012, o 18:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2012-08-10T18:33:18+01:00</updated>
<published>2012-08-10T18:33:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12287#p12287</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12287#p12287"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12287#p12287"><![CDATA[
<div class="quotetitle">SunRiver napisał(a):</div><div class="quotecontent"><br />Faktem jest natomiast to że z bascoma jest ciężko przejść na inny język -- bascom skutecznie to utrudnia<br /></div><br />Podobnie winda utrudnia wejście na schody, a samochód korzystanie z roweru  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />Znam parę przypadków, że Bascom został porzucony, bo wbudowane i rozbudowane funkcje do których nie ma dostępu są jednak ograniczeniem w dalszym rozwoju.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 10 sie 2012, o 18:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-08-10T18:32:29+01:00</updated>
<published>2012-08-10T18:32:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12284#p12284</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12284#p12284"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12284#p12284"><![CDATA[
Moim ulubionym powiedzieniem jest:<br /><br />&quot;Każdy procesor jest tylko tak dobry jak programista, który się nim posługuje&quot;<br /><br />ale równie dobrze można je nieco zmienić:<br /><br />&quot;Każdy język programowania jest tylko tak dobry jak programista, który się nim posługuje&quot;<br /><br />I to mam nadzieję, że w zupełności wyczerpuje temat, wcale bez żartów czy ironii ....<br /><br />przyznacie chyba Panie i Panowie ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 10 sie 2012, o 18:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-08-10T18:22:18+01:00</updated>
<published>2012-08-10T18:22:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12279#p12279</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12279#p12279"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12279#p12279"><![CDATA[
i co jam z wami zrobić panowie ??<br />Lochy pełne , trunki wypite, piguły się kończą ....., a wy tu sadzicie plotki o bascomie <br /><br />każdy język ma swoje wady i ograniczenia  głównie  gdy idzie o ubogą składnie i nadmiarowość nieczytelnych bibliotek<br />to nie jest tak że ten zły a ten dobry , bo wszystko w rękach programisty przecież , a złych nawyków można nałapać wszędzie <br />nawet w C  jak choćby FCPU <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Faktem jest natomiast to że z bascoma jest ciężko przejść na inny język -- bascom skutecznie to utrudnia<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 10 sie 2012, o 18:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-08-10T16:41:00+01:00</updated>
<published>2012-08-10T16:41:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12267#p12267</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12267#p12267"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12267#p12267"><![CDATA[
<div class="quotetitle">zenowi napisał(a):</div><div class="quotecontent"><br />Mówienie złych rzeczy o BASCOM-ie w dziale BASCOM jest co najmniej nietaktem.<br /></div><br /><br />Co racja to racja <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />Ja zawsze mam takie podejście, że Bascoma również uznaję w tym sensie, że jeśli ktoś ma coś prostego zrobić i ze 2-3 razy na rok - to pewnie że Bascom wystarczy - czemu nie ....<br /><br />Jednak to też nie jest do końca zgodne z prawdą ponieważ ludzie w Bascomie robią z powodzeniem bardzo zaawansowane projekty - a ja sam na własne oczy miałem okazję widzieć kiedyś wsad napisany do procka AVR sterującego radiem samochodowym firmy Blaupunkt <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br />dlatego język to jak język<br /><br />pewnie że ma swoje wady i ograniczenia - no trudno temu nikt chyba nie zaprzeczy, nawet twórca Mark Alberts ..... Wiele z tych wad i ograniczeń można obejść stosując wstawki asemblerowe , które sam kiedyś namiętnie pisałem programując w Bascomie jeszcze przed nauczeniem się C. Wtedy można z niego na prawdę dużo wycisnąć....<br /><br />ale też racją jest to i to bez dwóch zdań - że jeśli jednak zamierzamy w przyszłości rozwinąć swoje zdolności także do innych języków wyższego rzędu - np C, to Bascom spowoduje zdecydowanie nabranie wielu złych nawyków programowania, które utrudnią wdrożenie się w nowy język. Dlatego tak ciężko nieraz przejść na coś innego z Bascoma<br /><br />Mam nadzieję, że po tej mojej opinii nikt nie zarzuci mi że jestem tu stronniczy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 10 sie 2012, o 16:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zenowi]]></name></author>
<updated>2012-08-10T16:22:26+01:00</updated>
<published>2012-08-10T16:22:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12264#p12264</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12264#p12264"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12264#p12264"><![CDATA[
Mówienie złych rzeczy o BASCOM-ie w dziale BASCOM jest co najmniej nietaktem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=233">zenowi</a> — 10 sie 2012, o 16:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2012-08-10T14:29:50+01:00</updated>
<published>2012-08-10T14:29:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12249#p12249</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12249#p12249"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12249#p12249"><![CDATA[
Sam jestem neptyk, jeżeli chodzi o programowanie, ale unikam takich tworów jak bascom, właśnie po to by nie uczyć się złego myślenia od samego początku. Fakt C bywa upierdliwy na początek, ale z czasem wraca to z nawiązką i dużo łatwiej wiele rzeczy ogarnąć. <br /><br />PS. Prostsza jest platforma arduinio, dla początkujących może być nawet bardziej strawna.<p>Statystyki: Napisane przez Gość — 10 sie 2012, o 14:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marciu11]]></name></author>
<updated>2012-08-10T13:53:22+01:00</updated>
<published>2012-08-10T13:53:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12246#p12246</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12246#p12246"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12246#p12246"><![CDATA[
A nie Waity w przerwaniach to fakt pomyłka globalna jakich mało. <br />Może stwierdzeniem przerwanie co sekundę do długo może źle się wyraziłem. Bardziej chudziło mi że rzadko. Ale fakt faktem niech to będzie i raz na rok to i tak oba przerwania &quot;nałożą&quot; się na siebie. <br /><br />Ideę z flagami, a ogólniej mówiąc minimalizację &quot;zatrzymania programu w przerwaniu&quot; zrozumiałem. Jakoś po prostu o tym nie pomyślałem. <br /><br />Wielkie dzięki za naprowadzenie.<br /><br />No i udawać też nie będę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Guuruu programistycznym to ja nie jestem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> No ale na czymś uczyć się trzeba <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br />Dzięki<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=463">marciu11</a> — 10 sie 2012, o 13:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2012-08-10T12:58:53+01:00</updated>
<published>2012-08-10T12:58:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12239#p12239</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12239#p12239"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12239#p12239"><![CDATA[
Polecam opanowanie zdarzeń. W książce Mirka, oraz tu na forum jest to świetnie opisane. <br />Niestety sam mam bardzo złą opinię o bascomie, chodzi o to, że uczy bardzo złych nawyków programowania.<br />delay, wait to już archaizmy których nie powinno się nadużywać, a już broń was jaśnie panie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> (boże, allahu, shivo, buddo, czy w co tam wierzycie) od wkładania ich w obsługę przerywań, czy pętlę główną programu.<p>Statystyki: Napisane przez Gość — 10 sie 2012, o 12:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2012-08-10T12:54:44+01:00</updated>
<published>2012-08-10T12:54:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12238#p12238</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12238#p12238"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12238#p12238"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />dlatego trza zastosować mechanizm flag<br /></div><br />No właśnie, bo dzięki temu nie trzeba używać np. tych nieszczęsnych wait w oczekiwaniu na konwersję temperatury. W prawie wszystkich programach w sieci, oczekiwanie na konwersję zrobione jest za pomocą polecenia Waitms 750. Niestety w tym czasie pętla główna ma zawiechę. <br />W przykładzie, który podałem wyżej, oczekiwanie jest zrealizowane dzięki flagom i zmiennej licznikowej. Ten sposób pozwalał mi pozbyć się wszystkich Wait z pętli głównej i z powodzeniem stosowałem go w mojej przygodzie z Bascomem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 10 sie 2012, o 12:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-08-10T12:18:30+01:00</updated>
<published>2012-08-10T12:18:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12235#p12235</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12235#p12235"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12235#p12235"><![CDATA[
<div class="quotetitle">marciu11 napisał(a):</div><div class="quotecontent"><br />Odnośnie odczytu w przerwaniu. Wydawało mi się że okres około 1sek jest na tyle wolny - jak na procesor, że nie będzie to stanowiło problemu. Widać bardzo się myliłem.<br /></div><br /><br />Tak ale nie rozumiesz na razie do końca jak działają przerwania. Otóż, faktem jest że 1 sek to jest bardzo jak mówisz - wolny odcinek - nie ważne co to oznacza, ale pomyśl sobie co sekundę zaczynasz robić w tym przerwaniu strasznie długą operację i na ten czas BLOKUJESZ działanie nie tylko pętli głównej programu ale też innych przerwań w tym tego od multipleksowania LED - więc nie dziwota że co sekundę masz migotanie na takim wyświetlaczu....<br /><br />teraz jaśniej ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><br />dlatego trza zastosować mechanizm flag - czyli mniej więcej to o czym pisał wyżej kolega.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 10 sie 2012, o 12:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marciu11]]></name></author>
<updated>2012-08-10T10:36:29+01:00</updated>
<published>2012-08-10T10:36:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12234#p12234</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12234#p12234"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12234#p12234"><![CDATA[
Dzięki wielkie. Jak tylko wrócę do domu przetestuję tę metodę! Wydaje się bardzo logiczna. Niekiedy nie zawsze na tę logikę łatwo wpaść.<br /><br />Odnośnie odczytu w przerwaniu. Wydawało mi się że okres około 1sek jest na tyle wolny - jak na procesor, że nie będzie to stanowiło problemu. Widać bardzo się myliłem.<br /><br />Dzięki <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=463">marciu11</a> — 10 sie 2012, o 10:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-08-09T22:49:05+01:00</updated>
<published>2012-08-09T22:49:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12215#p12215</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12215#p12215"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12215#p12215"><![CDATA[
<div class="quotetitle">jacekk232 napisał(a):</div><div class="quotecontent"><br />Więc może spróbuj pójść w tym kierunku.<br /></div><br /><br />Dokładnie! ... zamiast odpalać 1wire w przerwaniu timera <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> bo tego nie zdzierży program napisany w dowolnym języku.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 sie 2012, o 22:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2012-08-09T22:37:53+01:00</updated>
<published>2012-08-09T22:37:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12212#p12212</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12212#p12212"/>
<title type="html"><![CDATA[Re: Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12212#p12212"><![CDATA[
<div class="quotetitle">marciu11 napisał(a):</div><div class="quotecontent"><br />Wiem, że pierwsze stwierdzenie to przesiąść się na &quot;C&quot;.<br /></div><br />I słuszne stwierdzenie, ale w Bascomie jak najbardziej da się pogodzić multipleksowanie wyświetlaczy LED i 1wire.<br /><br />Ja zrobiłem to w ten sposób, że rozkazy do DS-a wysyłałem w czasie między przerwaniami obsługi wyświetlacza. Timer0 zgłaszał przerwanie co 4ms. Czyli co 4ms wysyłałem kolejny rozkaz do czujnika. <br /><br />Poniżej mały przykład jak to wyglądało w kodzie programu.<br />Przerwanie obsługi wyświetlacza:<br />[syntax=basic4gl]Wysw_co_4ms:<br />Wyslij_rozkaz = 1<br />'ustawienie flagi spowoduje, że w pętli głównej<br />'zostanie wysłany kolejny rozkaz do DS-a<br /><br />'obsługa multipleksowania wyświetlaczy LED<br />Incr Wysw<br />If Wysw = 4 Then Wysw = 0<br />Portb.0 = 0                                     'gaśimy wyświetlacze<br />Portb.1 = 0<br />Portb.2 = 0<br />Portb.3 = 0<br />Select Case Wysw<br />   Case 0:<br />      Portd = Lookup(dp , Tabela)<br />      Portb.0 = 1<br />   Case 1:<br />      Portd = Lookup(j , Tabela)<br />      Portb.1 = 1<br />   Case 2:<br />      Portd = Lookup(d , Tabela)<br />      Portb.2 = 1<br />   Case 3:<br />      Portd = Lookup(znak , Tabela)<br />      Portb.3 = 1<br />End Select<br />Return[/syntax]<br /><br />Pętla główna:<br />[syntax=basic4gl]<br />Do<br />If Wyslij_rozkaz = 1 Then                       'co 4ms<br />   Wyslij_rozkaz = 0<br />   If Flaga_konwersji = 1 Then Incr Rozkaz_1wire<br />   If Rozkaz_1wire = 7 Then Rozkaz_1wire = 1<br />   Select Case Rozkaz_1wire:<br />      Case 1:<br />         1wreset                                'reset<br />      Case 2:<br />         1wwrite &amp;HCC                           'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM<br />      Case 3:<br />         If Flaga_konwersji = 1 Then            'wyzerowanie flagi aby rozkaz konwersji został wysłany tylko raz<br />            Flaga_konwersji = 0                 'to zamiast Waitms 750<br />            1wwrite &amp;H44                        'rozkaz konwersji temperatury<br />         Else<br />            Incr Czas_konwersji                 'po czasie ok. 1s<br />            If Czas_konwersji = 200 Then        'ustawiona zostaje flaga sygnalizująca<br />               Czas_konwersji = 0               'że konwersja temperatury została zakończona<br />               Flaga_konwersji = 1<br />            End If<br />         End If<br />      Case 4:<br />         1wreset                                'reset<br />      Case 5:<br />         1wwrite &amp;HCC                           'rozkaz adresowy SKIP ROM<br />      Case 6:<br />         1wwrite &amp;HBE                           'rozkaz funkcyjny - polecenie odczytu DS18x20<br />         Flaga_odczyt = 1<br />   End Select<br />End If<br /><br />If Flaga_odczyt = 1 Then<br />   Flaga_odczyt = 0<br />   'tu odczyt temperatury i obliczenia[/syntax]<br /><br />Tego sposobu używałem nie raz. Wszystko pięknie działało bez żadnych mignięć. <br />Więc może spróbuj pójść w tym kierunku.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 9 sie 2012, o 22:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marciu11]]></name></author>
<updated>2012-08-09T13:34:45+01:00</updated>
<published>2012-08-09T13:34:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12179#p12179</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12179#p12179"/>
<title type="html"><![CDATA[Termomert na 5 wyświetlaczach diodowych i DS1820]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1391&amp;p=12179#p12179"><![CDATA[
Witam.<br /><br />Dostałem zadanie napisania termometru(termostatu) na LEDowych wyświetlaczach.<br />Ot po prostu rodzinie się nie odmawia. Ale mniejsza z tym...<br /><br />Zadanie raczej banalne, odczyt temperatury z Dallasa i wyświetlenie jej na LEDach. Wprawdzie dochodzi tam jeszcze opcja termostatu i ustawień alarmu i itd. Ale to nie problem działa dobrze. <br />Utknąłem na jednej sprawie, a raczej nie wiem dlaczego tak się dzieje. I nie wiem czy ja coś robię nie tak, czy po prostu Bascom tak ma...<br /><br />W chwili odczytu z 1wire multipleksowanie wyświetlaczy ma czkawkę - objawia się to mignięciem wyświetlaczy. <br />Nie jest to duże utrudnienie, po prostu mignięcie wyświetlaczy, ale jak by się dało wyeliminować ten efekt to było by fajnie.<br /><br />Procedury przerwań nie są jakieś wyrafinowane, albo super rozbudowane. Timer0 generuje przerwanie dla multipleksowania LEDÓW, a Timer1 generuje przerwanie do odczytu temperatury.<br /><br />Gdy z procedury odczytu temperatury wywalę wszystkie polecenia odczytu <strong>1wire</strong> i do zmiennych przypiszę na sztywno wartości, migotania nie ma. Więc mniemam iż problemem jest tu sam odczyt z <strong>1wire</strong>.<br /><br />Główne bloki programu wyglądają tak:<br /><br />- konfiguracja <strong>1wire</strong> i zegarów:<br />[syntax=basic4gl]<br />Config 1wire = Portc.5                                      ' dallas<br /><br />Config Timer0 = Timer , Prescale = 64<br />On Timer0 Multi_wysw<br />Load Timer0 = 200<br />Enable Timer0<br /><br />Config Timer1 = Timer , Prescale = 256<br />On Timer1 Pomiar_temperatury<br />Load Timer1 = 53817<br />Enable Timer1[/syntax]<br /><br />- przerwanie odczytu dallasa:<br />[syntax=basic4gl]<br />Pomiar_temperatury:<br />Load Timer1 = 53817<br />   1wreset<br />If Err = 1 Then<br />   Segment(1) = 12 : Segment(2) = 13 : Segment(3) = 13 : Segment(4) = 14 : Segment(5) = 13          ' napis Error<br />   Gosub Pokaz_temperature<br />Else<br />   1wwrite &amp;HCC : 1wwrite &amp;H44<br />   1wreset<br />   1wwrite &amp;HCC : 1wwrite &amp;HBE<br />   Temperatura(1) = 1wread(2)<br />   If Temperatura(2) &gt; 0 Then Temperatura(1) = 256 - Temperatura(1)<br />   Temperatura(1) = Temperatura(1) / 2<br />   Set Ujemna                                                                                                          ' flaga ujemnej temperatury<br />End If<br />Return<br />[/syntax]<br /><br />- przerwanie multipleksowania wyświetlaczy:<br />[syntax=basic4gl]<br />Multi_wysw:<br />Load Timer0 = 200<br />Set Wys1 : Set Wys2 : Set Wys3 : Set Wys4 : Set Wys5        ' wyłączenie segmentów<br />Select Case Nr_wysw                                         ' wybór poszczególnych wartości dla cyfr<br />   Case 0:<br />      Portd = Lookup(segment(1) , Segmenty)<br />      Reset Wys1<br />   Case 1:<br />      Portd = Lookup(segment(2) , Segmenty)<br />      Reset Wys2<br />   Case 2:<br />      Portd = Lookup(segment(3) , Segmenty)<br />      Reset Wys3<br />   Case 3:<br />      Portd = Lookup(segment(4) , Segmenty)<br />      Reset Wys4<br />   Case 4:<br />      Portd = Lookup(segment(5) , Segmenty)<br />      Reset Wys5<br />End Select<br />Incr Nr_wysw                                                ' zwiększ nr aktualnego wyświetlacza<br />If Nr_wysw = 5 Then Nr_wysw = 0<br />Return<br />[/syntax]<br /><br />Pętla główna to oczekiwanie na przyciski i cykliczny skoki do podprocedur podziału temperatury i komunikatów na poszczególne składowe znaków, porównanie temperatury, alarm itd. Nic ingerującego w Timery, czy przerwania.<br /><br />Próbowałem obsługę Dallasa przenieść do pętli głównej, zmieniać Timery. Nic to nie daje. Gdy tylko pojawiają się instrukcje <strong>1wire</strong> wyświetlacz zaczyna migać w chwili odczytu. Nawet jak wywalę praktyczne wszystko inne z programu.<br /><br />Wiem, że pierwsze stwierdzenie to przesiąść się na &quot;C&quot;. Ale z tym dopiero zaczynam, a sprawa jest raczej na wczoraj.<br />Gdy się tego nie da wyeliminować, to trudno, da się z tym żyć. Ale jest tu tyle mądrych głów że może ktoś coś będzie potrafił powiedzieć co partolę...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=463">marciu11</a> — 9 sie 2012, o 13:34</p><hr />
]]></content>
</entry>
</feed>