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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2020-04-05T21:19:20+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=23002&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2020-04-05T21:19:20+01:00</updated>
<published>2020-04-05T21:19:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23002&amp;p=225937#p225937</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23002&amp;p=225937#p225937"/>
<title type="html"><![CDATA[Re: Licznik zamiast DELAY]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23002&amp;p=225937#p225937"><![CDATA[
<div class="quotetitle">jez2000 napisał(a):</div><div class="quotecontent"><br />lepiej użyć timera ktory będzie zwiększal ją nawet jak program gdzieś zawiśnie<br /></div><br />Dokładnie tak - po to piszę i pokazuję i PROPAGUJĘ wszędzie tzw &quot;TIMERY PROGRAMOWE&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 5 kwi 2020, o 21:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jez2000]]></name></author>
<updated>2020-04-05T21:09:53+01:00</updated>
<published>2020-04-05T21:09:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23002&amp;p=225936#p225936</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23002&amp;p=225936#p225936"/>
<title type="html"><![CDATA[Re: Licznik zamiast DELAY]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23002&amp;p=225936#p225936"><![CDATA[
i++ zwieksza sie w każdym obiegu pętli, jak bedzie w niej jakiś warunek oczekujący to czasy będą już inne. do i++ lepiej użyć timera ktory będzie zwiększal ją nawet jak program gdzieś zawiśnie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11828">jez2000</a> — 5 kwi 2020, o 21:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miki53]]></name></author>
<updated>2020-04-05T20:51:18+01:00</updated>
<published>2020-04-05T20:51:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23002&amp;p=225935#p225935</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23002&amp;p=225935#p225935"/>
<title type="html"><![CDATA[Licznik zamiast DELAY]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23002&amp;p=225935#p225935"><![CDATA[
Witajcie <br />Kombinowałem jak zrobić zwłokę czasową bez DELAY <br />pomyślałem że można by było zastosować licznik jako zwłokę<br />i to nieblokującą zdaję sobie z tego sprawę że to nie ideał <br />ale może się przyda<br />Może da się to dopracować na czasy bardziej dokładne niż tylko na oko? <br /><br />Kod pisany na Atmegę32 kwarc 11.0592<br /><br />Co o tym myślicie kod testowy poniżej <br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br /><br />uint32_t i;<br />uint8_t a;<br /><br />#define LED_0 (1&lt;&lt;PA0)<br />#define LED_0_ON PORTA &amp;= ~LED_0<br />#define LED_0_OFF PORTA |= LED_0<br />#define LED_0_TOG PORTA ^= LED_0<br /><br />#define LED_1 (1&lt;&lt;PA2)<br />#define LED_1_ON PORTA &amp;= ~LED_1<br />#define LED_1_OFF PORTA |= LED_1<br />#define LED_1_TOG PORTA ^= LED_1<br /><br />#define LED_2 (1&lt;&lt;PA4)<br />#define LED_2_ON PORTA &amp;= ~LED_2<br />#define LED_2_OFF PORTA |= LED_2<br />#define LED_2_TOG PORTA ^= LED_2<br /><br />#define LED_3 (1&lt;&lt;PA6)<br />#define LED_3_ON PORTA &amp;= ~LED_3<br />#define LED_3_OFF PORTA |= LED_3<br />#define LED_3_TOG PORTA ^= LED_3<br /><br />int main(void){<br /><br /><br />DDRA = 0xff;<br />PORTA = 0xff;<br /><br />// sei();<br />while(1) {<br /><br />i++;<br />// ******************* WERSJA 1 ****************************************<br />/*<br />if ( i==56535){ // podział częstotliwości kwarcu przez i<br />i=0;<br />LED_0_TOG;<br />}<br /><br />if ( i==28267){ // podział częstotliwości kwarcu przez i<br />//i=0;<br />LED_1_TOG;<br />}<br /><br />if ( i==14133){ // podział częstotliwości kwarcu przez i<br />//i=0;<br />LED_2_TOG;<br />}<br />if ( i==7066){ // podział częstotliwości kwarcu przez i<br />//i=0;<br />LED_3_TOG;<br />}<br />*/<br />// *********************************************************************<br /><br />// ************** WERSJA 2 *********************************************<br />//  Podział przez a pozwala zastosować mniejszy rejestr podziału przez i np 16 bitowy aby uzyskać<br />//  dłuższe czasy migania LED<br /><br />if ( i==5650 ){ // podział częstotliwości kwarcu przez i<br /> a++;<br /> i=0;<br />}<br /><br />if ( a&gt;100 ) { // dodatkowy podział przez a<br /> LED_0_TOG;<br />// a=0;<br />    }<br />if ( a&gt;160 ) { // dodatkowy podział przez a<br /> LED_1_TOG;<br />// a=0;<br />}<br />if ( a&lt;90 ) { // dodatkowy podział przez a<br /> LED_2_TOG;<br />// a=0;<br />}<br />if ( a==200 ) { // dodatkowy podział przez a<br /> LED_3_TOG;<br /> a=0;<br />}<br />// *********************************************************************<br /><br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18503">miki53</a> — 5 kwi 2020, o 20:51</p><hr />
]]></content>
</entry>
</feed>