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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=12582&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-08-09T11:14:25+01:00</updated>
<published>2015-08-09T11:14:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136848#p136848</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136848#p136848"/>
<title type="html"><![CDATA[Re: TIMER0 i multipleksowanie - odświeżanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136848#p136848"><![CDATA[
<div class="quotetitle">Ds3 napisał(a):</div><div class="quotecontent"><br />Przyznam się bez bicia, że nie widziałem o tym, że trzeba tą wartość resetować w funkcji obsługi przerwania<br /></div><br />A ja przypomnę tylko, że pisze o tym w Bluebooku w początkowych rozdziałach gdy opisuję różnice pomiędzy trybem NORMAL i CTC - a BB widzę, że masz <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br /><div class="quotetitle">SylwekK napisał(a):</div><div class="quotecontent"><br />dlatego w takich zastosowaniach najwygodniej stosować tryb ctc <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /></div><br /><br />Zdecydowanie CTC jest lepszy i dlatego np lepsza jest ATmega88 która ma dla każdego timera CTC, natomiast biedna stara ATmega8 nie ma CTC dla Timer0<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 sie 2015, o 11:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2015-08-09T11:11:54+01:00</updated>
<published>2015-08-09T11:11:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136847#p136847</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136847#p136847"/>
<title type="html"><![CDATA[Re: TIMER0 i multipleksowanie - odświeżanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136847#p136847"><![CDATA[
dlatego w takich zastosowaniach najwygodniej stosować tryb ctc <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 sie 2015, o 11:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ds3]]></name></author>
<updated>2015-08-09T09:19:08+01:00</updated>
<published>2015-08-09T09:19:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136842#p136842</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136842#p136842"/>
<title type="html"><![CDATA[Re: TIMER0 i multipleksowanie - odświeżanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136842#p136842"><![CDATA[
A, widzisz kolego tego właśnie mi brakowało! <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Teraz działa bez problemu.<br />Przyznam się bez bicia, że nie widziałem o tym, że trzeba tą wartość resetować w funkcji obsługi przerwania ;P<br /><br /><br />Dziękuję!<br />Pozdrawiam!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1783">Ds3</a> — 9 sie 2015, o 09:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2015-08-08T21:38:35+01:00</updated>
<published>2015-08-08T21:38:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136820#p136820</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136820#p136820"/>
<title type="html"><![CDATA[Re: TIMER0 i multipleksowanie - odświeżanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136820#p136820"><![CDATA[
A czy w funkcji obsługi przerwania ustawiasz licznik TCNT0 na tą wybrana wartość?<br />W trybie overflow, w przerwaniu musisz liczbę 49 wpisać do TCNT0 aby licznik liczył od tej wartości do 255. <br />Jeśli tego nie zrobisz to licznik będzie liczył w zakresie 0...255 i w rezultacie przerwanie będzie się wywoływało z mniejszą częstotliwością.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 8 sie 2015, o 21:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ds3]]></name></author>
<updated>2015-08-08T20:51:41+01:00</updated>
<published>2015-08-08T20:51:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136819#p136819</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136819#p136819"/>
<title type="html"><![CDATA[TIMER0 i multipleksowanie - odświeżanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12582&amp;p=136819#p136819"><![CDATA[
Witam!<br /><br />Ostatnio z bratem złożyłem kolektor słoneczny do nagrzewania wody w basenie i powoli biorę się za budowę sterownika. Przeszkadzają mi jeszcze w tym upały - 30.5*C w pokoju ;/<br /><br />Chcę wyświetlać temperaturę na wyświetlaczu 7 segmentowym. Dotychczas używałem TIMERA2 w mikrokontrolerze Atmega8 do obsługi multipleksowania - 3 segmenty. Tym razem jednak tego timera wolałbym użyć do zliczania czasów w sterowniku - nie muszą być dokładne <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />I tak sobie liczę:<br />Wartość nie może być większa niż 255 ( 8 bitów ).<br />FCPU/PRESKALER/150Hz (częstotliwość odświeżania wyświetlacza; 3 segmenty, dla każdego po 50Hz).<br />8 000 000Hz/256/150= 208.33Hz <br />Czyli wynik mieści się w 255. <br />[syntax=c]TCCR0|= (1&lt;&lt;CS02);// prescaler 256<br />TIMSK |= (1&lt;&lt;TOIE0);/* Przerwanie overflow (przepełnienie timera)  */[/syntax]<br /><br />Problem w tym, że segmenty lekko migają. <br />Próbowałem do poprawienia użyć rejestru TCNT0 - z tego co rozumiem, wartość tutaj wpisana jest wartością początkową timera i zlicza do 255. Czyli zwiększając wartość rejestru TCNT0 odświeżanie powinno przyśpieszyć. <br />Ale z jakiś powodów jest brak reakcji, kod wygląda tak:<br />[syntax=c]TCCR0|= (1&lt;&lt;CS02);// prescaler 256<br />TCNT0 = 49;<br />TIMSK |= (1&lt;&lt;TOIE0);/* Przerwanie overflow (przepełnienie timera)  */[/syntax]<br /><br />Nie wiem, czy wartość 49 jest prawidłowa - próbowałem coś zdziałać na przykładzie MKAVRCalculator ;P Ale nawet zwiększenie tej wartości do np. 250 nic nie daje. <br /><br />Gdy zmienię preskaler na 64 to wyświetlacz działa tak jak powinien - nie widać odświeżania. Ale w takim razie jak zlicza to mikrokontroler? Liczy od 0 do 255 i tak w kółko? Jeśli tak to można określi jaką częstotliwość odświeżania ma wyświetlacz? - teraz coś policzyłem (nie wiem czy dobrze) ;P Czy jest to 122Hz? <br /><br /><br />Pozdrawiam!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1783">Ds3</a> — 8 sie 2015, o 20:51</p><hr />
]]></content>
</entry>
</feed>