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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-01-02T19:24:54+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=14064&amp;mode</id>
<entry>
<author><name><![CDATA[yazpid]]></name></author>
<updated>2016-01-02T19:24:54+01:00</updated>
<published>2016-01-02T19:24:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149473#p149473</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149473#p149473"/>
<title type="html"><![CDATA[Re: Odliczanie z użyciem us]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149473#p149473"><![CDATA[
Dzięki chłopaki<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6401">yazpid</a> — 2 sty 2016, o 19:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2016-01-02T19:12:45+01:00</updated>
<published>2016-01-02T19:12:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149466#p149466</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149466#p149466"/>
<title type="html"><![CDATA[Re: Odliczanie z użyciem us]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149466#p149466"><![CDATA[
Wysyłanie na uart masz teraz w każdym obiegu pętli, a nie co sekundę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 2 sty 2016, o 19:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[yazpid]]></name></author>
<updated>2016-01-02T19:06:01+01:00</updated>
<published>2016-01-02T19:06:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149464#p149464</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149464#p149464"/>
<title type="html"><![CDATA[Re: Odliczanie z użyciem us]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149464#p149464"><![CDATA[
Pomogło, jednak musiałem zakomentować [syntax=c]//uart_putint(z, 10);[/syntax], bo zliczało jakieś randomowe liczby, ktoś wie czemu? Czy zrobienie tego na przerwaniu pomoże?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6401">yazpid</a> — 2 sty 2016, o 19:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bartek123]]></name></author>
<updated>2016-01-02T17:28:53+01:00</updated>
<published>2016-01-02T17:28:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149454#p149454</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149454#p149454"/>
<title type="html"><![CDATA[Re: Odliczanie z użyciem us]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149454#p149454"><![CDATA[
Nie zerujesz zmiennej z i musisz zmienną z i sek zainicjalizować wartością 0 na początku wydaje mi się, że to ten błąd a kod będzie wyglądał tak:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;string.h&gt;<br />#include &quot;myuart/myuart.h&quot;<br /> <br />int main(void)<br />{<br />        sei();<br />        uart_init(__UBRR);<br />        uint32_t z = 0;<br />        uint8_t sek = 0;<br />        DDRB |= (1&lt;&lt;PB1);<br />        PORTB |= (1&lt;&lt;PB1);<br />                 TCCR0=0;<br />                         TCCR0 |= (1&lt;&lt;CS01); // clk/8<br />                         TCNT0 = 0;<br />        while(1)<br />        {<br /> <br />                 while(TCNT0 &gt;=50)<br />                 {<br />                        z++;<br />                        TCNT0=0;<br />                 }<br />                if (z==20000)<br />                {<br />                        z = 0;<br />                        sek++;<br />                        PORTB ^=(1&lt;&lt;PB1);<br />                }<br />                uart_putint(sek, 10);<br /> <br /> <br />        }<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10617">Bartek123</a> — 2 sty 2016, o 17:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[yazpid]]></name></author>
<updated>2016-01-02T16:22:23+01:00</updated>
<published>2016-01-02T16:22:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149437#p149437</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149437#p149437"/>
<title type="html"><![CDATA[Odliczanie z użyciem us]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14064&amp;p=149437#p149437"><![CDATA[
Witam do pewnego projektu potrzebuje zliczania czasu  w us, chcę zrobić to za pomocą Timer0. Mam 8Mhz wewnętrzny rezonator i ustawiam preskaler na 8. W przykładzie poniżej chce sprawdzić czy czas jest poprawnie odliczany dlatego chce co 1sek zmieniać stan diody i wyświetlać czas przez uart w terminalu. Kiedy tctn0 doliczy do 50 zwiększa zmienna z o 1 aż do 20000. Z obliczeń 8Mhz/8=1Mhz. Następnie 50/1Mhz wychodzi 0,00005, więc zmienna z musi doliczyć do 20000 żeby uzyskać 1s. Możecie podpowiedzieć gdzie jest błąd?<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;string.h&gt;<br />#include &quot;myuart/myuart.h&quot;<br /><br />int main(void)<br />{<br />sei();<br />uart_init(__UBRR);<br />uint32_t z;<br />uint8_t sek;<br />DDRB |= (1&lt;&lt;PB1);<br />PORTB |= (1&lt;&lt;PB1);<br />         TCCR0=0;<br /> TCCR0 |= (1&lt;&lt;CS01); // clk/8<br /> TCNT0 = 0;<br />while(1)<br />{<br /><br /> while(TCNT0 &gt;=50)<br /> {<br />z++;<br />TCNT0=0;<br /> }<br />if (z==20000)<br />{<br />sek++;<br />PORTB ^=(1&lt;&lt;PB1);<br />}<br />uart_putint(sek, 10);<br /><br /><br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6401">yazpid</a> — 2 sty 2016, o 16:22</p><hr />
]]></content>
</entry>
</feed>