<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=5326&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-12-30T09:44:48+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=5326&amp;mode</id>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2013-12-30T09:44:48+01:00</updated>
<published>2013-12-30T09:44:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62863#p62863</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62863#p62863"/>
<title type="html"><![CDATA[Re: Dzielenie przez 255, powolna praca Atmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62863#p62863"><![CDATA[
Przyciski w przerwaniach tak czy inaczej będziesz musiał kiedyś ogarnąć, a poniżej przykład mojej obsługi nieblokującego przycisku z filtrem antydrganiowym bez użycia przerwań:<br />[syntax=c]uint16_t Lk1;<br />if (!(PIND&amp;(1&lt;&lt;PD0))){<br />if(Lk1&lt;65535)Lk1++;<br />if(Lk1==1000){     //czas dobrany doświadczalnie<br />//instrukcje;<br />//<br />    } else  Lk1=0;[/syntax]<br />To uproszczona wersja tego co opisałem w tym temacie: <a href="http://forum.atnel.pl/topic4763.html"  class="postlink">http://forum.atnel.pl/topic4763.html</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 30 gru 2013, o 09:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mlp]]></name></author>
<updated>2013-12-29T19:59:58+01:00</updated>
<published>2013-12-29T19:59:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62790#p62790</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62790#p62790"/>
<title type="html"><![CDATA[Re: Dzielenie przez 255, powolna praca Atmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62790#p62790"><![CDATA[
Tak już wiem problem tkwi w tych opóźnieniach i biblioteka util/delay.h, najlepiej było by je zastąpić jakąś pętelką albo przerwaniem z licznika, spróbuje z licznikiem. Ale z przesuwaniem miejsc o 8 - dobry pomysł też spróbuję - dzięki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2261">mlp</a> — 29 gru 2013, o 19:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[komor34]]></name></author>
<updated>2013-12-29T19:48:46+01:00</updated>
<published>2013-12-29T19:48:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62789#p62789</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62789#p62789"/>
<title type="html"><![CDATA[Re: Dzielenie przez 255, powolna praca Atmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62789#p62789"><![CDATA[
No to może te opóźnienia wynikają ze zwłoki czasowej na drgania styków, a jeżeli tak to nie mam pojęcia jak to zrobić bez przerwań <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=495">komor34</a> — 29 gru 2013, o 19:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2013-12-29T19:46:15+01:00</updated>
<published>2013-12-29T19:46:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62788#p62788</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62788#p62788"/>
<title type="html"><![CDATA[Re: Dzielenie przez 255, powolna praca Atmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62788#p62788"><![CDATA[
A może przesuwaj wynik mnożenia i*100 o 8 miejsc w prawo (czyli dzielenie przez 256), a do końcowego wyniku ewentualnie dodawaj 1.<br /><br />Przy takiej obsłudze klawiszy to blokujesz procka na wieczność! Znaczy aż 80ms, a to sporo...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 29 gru 2013, o 19:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mlp]]></name></author>
<updated>2013-12-29T19:41:12+01:00</updated>
<published>2013-12-29T19:41:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62786#p62786</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62786#p62786"/>
<title type="html"><![CDATA[Re: Dzielenie przez 255, powolna praca Atmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62786#p62786"><![CDATA[
klawisze (w przykładzie jeden) obsługuję tak:<br /><br />[syntax=c]if ( !(PIND &amp; (1&lt;&lt;PD0))) {<br />                        _delay_ms (80);<br /><br />                                        if ( !(PIND &amp; (1&lt;&lt;PD0)) &amp; (i &lt; 255)) {<br />                                                                    i++;<br />                                                                    OCR0=i;<br />                                                                    lcd_cls();<br /><br />                                                                                                 }<br />                                                  }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2261">mlp</a> — 29 gru 2013, o 19:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[komor34]]></name></author>
<updated>2013-12-29T19:20:24+01:00</updated>
<published>2013-12-29T19:20:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62779#p62779</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62779#p62779"/>
<title type="html"><![CDATA[Re: Dzielenie przez 255, powolna praca Atmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62779#p62779"><![CDATA[
hmm. To może pokaż jak obsługujesz klawisze.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=495">komor34</a> — 29 gru 2013, o 19:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mlp]]></name></author>
<updated>2013-12-29T19:09:19+01:00</updated>
<published>2013-12-29T19:09:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62777#p62777</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62777#p62777"/>
<title type="html"><![CDATA[Re: Dzielenie przez 255, powolna praca Atmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62777#p62777"><![CDATA[
Nie to też nie pomaga dalej liczy wolno.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2261">mlp</a> — 29 gru 2013, o 19:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[komor34]]></name></author>
<updated>2013-12-29T19:04:07+01:00</updated>
<published>2013-12-29T19:04:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62776#p62776</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62776#p62776"/>
<title type="html"><![CDATA[Re: Dzielenie przez 255, powolna praca Atmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62776#p62776"><![CDATA[
Może spróbuj tak to zapisać:  procent = (100*i)/255<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=495">komor34</a> — 29 gru 2013, o 19:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mlp]]></name></author>
<updated>2013-12-29T18:41:28+01:00</updated>
<published>2013-12-29T18:41:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62772#p62772</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62772#p62772"/>
<title type="html"><![CDATA[Dzielenie przez 255, powolna praca Atmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5326&amp;p=62772#p62772"><![CDATA[
Mam programik do zmiany wypełnienia przebiegu PWM i chce wyświetlić nastawioną wartość wypełnienia w %.<br /><br />Robię tak: <br /><br />[syntax=c]uint8_t i;<br />uint16_t procent=0;<br />...<br /><br />OCR0=i;     // i jest obliczane w zależności od naciśnięcia przycisków<br />...<br /> //wyrażenie wypełnienia w %<br />    procent = (i*100);<br />procent = (procent/255);<br /><br />lcd_locate(0,2);<br />lcd_str(&quot;Wypelnienie&quot;);<br />lcd_locate(1,7);<br />lcd_int(procent);<br />lcd_str(&quot;%&quot;);<br />...[/syntax]<br /><br />Wszystko działa super do momentu jak wynik &quot;procent&quot; jest dzielony przez 255, wtedy procek bardzo spowalnia, widać to jak się trzyma wciśnięty przycisk zliczania impulsów &quot;i&quot;, a nie chciałbym robić obsługi przycisków na przerwaniach.<br /><br />Jak można inaczej zamienić dzielenie przez 255 ? może jakieś przesuwanie bitów?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2261">mlp</a> — 29 gru 2013, o 18:41</p><hr />
]]></content>
</entry>
</feed>