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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-06-05T15:37:41+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=11906&amp;mode</id>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2015-06-04T21:39:00+01:00</updated>
<published>2015-06-04T21:39:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11906&amp;p=130951#p130951</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11906&amp;p=130951#p130951"/>
<title type="html"><![CDATA[Re: Przerwania ATmega ZL15AVR i jtag mk2]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11906&amp;p=130951#p130951"><![CDATA[
Jako nowemu polecam zapoznanie się z tematem <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 4 cze 2015, o 21:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[LPU92]]></name></author>
<updated>2015-06-05T15:37:41+01:00</updated>
<published>2015-06-04T17:38:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11906&amp;p=130933#p130933</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11906&amp;p=130933#p130933"/>
<title type="html"><![CDATA[Przerwania ATmega ZL15AVR i jtag mk2]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11906&amp;p=130933#p130933"><![CDATA[
[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include&lt;avr/interrupt.h&gt;:<br />#include &quot;HD44780.h&quot;<br />#include &quot;USART.h&quot;<br /><br />volatile int freq;  // zamiast podręcznej <br /><br />int dioda (char d)<br />{<br />char temp=d&lt;&lt;2;<br />PORTD&amp;=0b00000011;<br />PORTD|=temp;<br />PORTC&amp;=0b0011111;<br />d&amp;=0b11000000;<br />PORTC|=d;<br />}<br /><br /><br /><br /><br />ISR(TIMER1_OVF_vect) //ustawienie przerwania<br />{<br />PORTD=~PORTD;<br />TCNT1=freq;<br />}<br /><br /><br /><br /><br />int cale;<br />int reszta;<br />unsigned int wynik;<br />unsigned int temp ,temp2;<br />float wynikwolt;<br />int czas;<br /><br /><br />int main(void)<br />{<br /><br />ADMUX =  0b01100000;//ustawienie przetwornika 01 referencyjne 1 justowanie od lewej<br />ADCSRA = 0b11100111;<br /><br /><br />DDRA = 0b00000000;<br />DDRD = 0b11111100;<br />DDRC = 0b11000000;<br />DDRB = 0b11111111;<br /><br />TCCR1B= 0b00000100;<br />TCCR1A = 0;<br />sei();<br /><br /><br /><br />while(1)<br />{<br /><br /><br /><br />cale=wynikwolt;<br />reszta=100*wynikwolt-100*cale;<br />;<br /><br />temp = ADCH*4;<br />temp2=ADCL&gt;&gt;6;<br />wynik=temp+temp2;<br />wynikwolt = ((float)wynik/1023)*5;<br /><br />//adch 1-255<br /><br />TIMSK = 1&lt;&lt;TOIE1;<br />freq = ADCH*1015;<br /><br /><br />}<br /><br />}[/syntax]<br /><br />Napisałem taki programik który zapala i gasi diody zależnie od wartości na przetworniku. Mam jednak pewien kłopot co do obsługi przerwań mógł by mi ktoś wyjaśnić jak policzyć aby diody mrugały co sekundę kiedy mam 0V a kiedy mam 5V co 0,2s (wartość ADCH zmienia sie 1-255). Pracuje na zestawie jak w tytule.<br /><br />Wiem że trzeba policzyć ile ma wynosić TCNT1 oraz dobrać preskaler ale jak to zrobić nie mam pojęcia ;/<br /><br />Będę wdzięczny za wszelkie wyjaśnienia łopatologiczne bo znalezione informacje w necie nie bardzo mi pomogły<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10124">LPU92</a> — 4 cze 2015, o 17:38</p><hr />
]]></content>
</entry>
</feed>