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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-10-28T18:30:01+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=4093&amp;mode</id>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2013-10-28T18:30:01+01:00</updated>
<published>2013-10-28T18:30:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=54613#p54613</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=54613#p54613"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=54613#p54613"><![CDATA[
Nowa wersja kodu:<br /><br />[syntax=c]/*<br /> * main.c<br /><br /> *<br /> *  Created on: 31-07-2013<br /> *     <br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;d_led.h&quot;// dołączenie naszego pliku nagłówkowego (obsługa LED)<br /><br /><br /><br /><br />volatile uint8_t l, flaga;<br /><br /><br />int main(void) {<br /><br />DDRC |= (1&lt;&lt;PC1);<br />PORTC |= (1&lt;&lt;PC1);<br />d_led_init();<br /><br />PORTD |= (1&lt;&lt;PD2); // podłączony to fototranzystor<br /><br />MCUCR |= (1&lt;&lt;ISC01);//opadające zbocze wyzwala przerwanie INT0<br />GICR |= (1&lt;&lt;INT0);<br />sei();<br /><br />while(1) {<br /><br /><br />if(flaga){<br /><br />PORTC ^= (1&lt;&lt;PC1);<br />                        flaga=0;<br />}<br />}<br />}<br /><br /><br />ISR(INT0_vect){<br /><br />flaga=1;<br /><br />}[/syntax]<br /><br /><br />brak &quot;volatile&quot; powodowało ze przerwanie nie działało, niestety dalej jest problem z wyswietlaczem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 28 paź 2013, o 18:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2013-10-27T23:14:54+01:00</updated>
<published>2013-10-27T23:14:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=54559#p54559</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=54559#p54559"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=54559#p54559"><![CDATA[
zmieniłem linię:<br /><br />[syntax=c]MCUCR |= (1&lt;&lt;ISC01);  //opadające zbocze wyzwala przerwanie INT0<br />        GICR |= (1&lt;&lt;INT0);       // odblokowanie INT0[/syntax]<br /><br />na:<br /><br />[syntax=c]//MCUCR |= (1&lt;&lt;ISC01);  //opadające zbocze wyzwala przerwanie INT0<br />        GICR |= (1&lt;&lt;INT0);       // odblokowanie INT0[/syntax]<br /><br />teraz ma regować na stan niski, owszem reaguje, ale zamiast spodziewanego liczenia, całkowicie rozwala wyswietacz 4x 7seng LED. Gdy zakrywam/odkrywam fototranzystor to przeskakują, &quot;8&quot;, 0, wyłaczają sie wyświetlacze,ogolnie totalne popsucie...<br /><br />Czyzby zewnetrzne przerwanie kłóciło sie z przerwaniem od multipleksowania LED? używam kodu  wysw. LED z Mirkowej DVD<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 27 paź 2013, o 23:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2013-10-27T21:50:11+01:00</updated>
<published>2013-10-27T21:50:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=54547#p54547</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=54547#p54547"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=54547#p54547"><![CDATA[
Witam ponownie,<br /><br />Tym razem postanowiłem inaczej podejśc do problemu, podłączyłem fototranzystor do pinu PD2 czyli INT0.<br />Chciałbym aby zmiana stanu z wysokiego na niski wyzwalałać przerwanie. Program ma za zadanie zliczać przerwania do 9 a potem liczyć od nowa.<br />Napisałem taki kod jak ponizej:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;d_led.h&quot;// dołączenie naszego pliku nagłówkowego (obsługa LED)<br /><br />uint8_t l, flaga;<br /><br />int main(void) {<br /><br />d_led_init();    //inicjacja wyswietlacza LED<br /><br />PORTD |= (1&lt;&lt;PD2); // podłączony to fototranzystor<br /><br />MCUCR |= (1&lt;&lt;ISC01);  //opadające zbocze wyzwala przerwanie INT0<br />GICR |= (1&lt;&lt;INT0);       // odblokowanie INT0<br />sei();<br /><br />while(1) {<br /><br />if(flaga){             // gdy flaga wynosi 1<br /><br />l++;           // dodaj 1 do licznika<br />cy1=l;        // wyswietl &quot;l&quot; na wyswietlaczu nr 1<br />flaga=0;     // zeruj flagę<br /><br />}<br />if(l==9) l=0;        // gdy licznik ma wartość 9, wyzeruj go<br /><br />}<br />}<br /><br />ISR(INT0_vect){<br /><br />flaga=1;                   // gdy przerwanie ustaw flage na 1<br /><br />}[/syntax]<br /><br />niestety bez rzadnej reakcji, zastanawiam sie czy dobrze ustawiłem odpowiednie bity, mam Atmegę 16.<br /><br /><br />------------------<br /><br />Znalazłem jeden błąd mianowicie zła nazwa w obsłudze przerwania, było:<br />[syntax=c]ISR(_VECTOR(1))<br /><br />flaga=1;                   // gdy przerwanie ustaw flage na 1<br /><br />}[/syntax]<br /><br />ma być:<br /><br />[syntax=c]ISR(INT0_vect){<br /><br />flaga=1;                   // gdy przerwanie ustaw flage na 1<br /><br />}[/syntax]<br /><br />Lecz to nie ten błąd , dalej bez reakcji<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 27 paź 2013, o 21:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-07T18:41:05+01:00</updated>
<published>2013-09-07T18:41:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48639#p48639</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48639#p48639"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48639#p48639"><![CDATA[
Tak, to może być dowolny wzmacniacz op.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 7 wrz 2013, o 18:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2013-09-07T14:39:37+01:00</updated>
<published>2013-09-07T14:39:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48601#p48601</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48601#p48601"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48601#p48601"><![CDATA[
rozumiem czyli jednak potrzebuje ten wzmacniacz<br /><br />mam LM386N-1 nada sie?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 7 wrz 2013, o 14:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-07T14:30:26+01:00</updated>
<published>2013-09-07T14:30:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48599#p48599</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48599#p48599"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48599#p48599"><![CDATA[
No tam jest opisane kiedy nie musi być tego układu. Ten układ to właśnie wzmacniacz operacyjny pracujący jako przerzutnik Shmitta.<br />A zlicza tak, bo procesor wykrywa wiele zboczy jak zasłaniasz/odsłaniasz fototranzystor. Dlatego potrzebna jest histereza którą daje przerzutnik.<br />Zobacz tutaj o co chodzi z tą histerezą:<br /><a href="http://www.youtube.com/watch?v=9kMKnfuTozo"  class="postlink">http://www.youtube.com/watch?v=9kMKnfuTozo</a><br /><br />Są dwa progi &quot;uznanie&quot; jedynki i &quot;uznanie&quot; zera. Wszystko co jest pomiedzy progami nie powoduje zmiany stanu na wyjściu przerzutnika, może się tam dowolnie zmieniać, przerzutnik przełączy dopiero wtedy gdy napięcie przekroczy próg.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 7 wrz 2013, o 14:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2013-09-07T14:21:42+01:00</updated>
<published>2013-09-07T14:21:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48595#p48595</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48595#p48595"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48595#p48595"><![CDATA[
<!-- m --><a class="postlink" href="http://www.forbot.pl/forum/topics61/miernik-predkosci-obrotow-silnika-vt4924.htm?utm_source=forbot&amp;utm_medium=portal_menu&amp;utm_content=link_headline&amp;utm_campaign=portal_rotator" >http://www.forbot.pl/forum/topics61/mie ... al_rotator</a><!-- m --><br /><br />chodiz mi o takei cos.. patrze na schemat, kurcze no nic tam nei ma takiego..jest dodatkowy uklad scalony ale i jego nie musi byc<br /><br />autor udostepnia kod ustawiłem bity teraz widze ze praktycznie tak samo.. i nie rozumiem czemu tak zlicza dziwnie zamiast, 0,1,2,3,... tylko 0,23,344,673 np.<br /><br />nei chodzi mi o konwersje obrotów.. poki co tylko zliczanie impulsów..<br /><br />moze ja coś zle rozumiem?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 7 wrz 2013, o 14:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-07T14:01:23+01:00</updated>
<published>2013-09-07T14:01:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48591#p48591</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48591#p48591"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48591#p48591"><![CDATA[
No myślę, że najlepiej to by było dać ten fototranzystor przez przerzutnik jakiś, wtedy będzie na pewno ostre zbocze w odpowiednim momencie.<br /><br /><a href="http://hyperphysics.phy-astr.gsu.edu/hbase/electronic/schmitt.html"  class="postlink">http://hyperphysics.phy-astr.gsu.edu/hbase/electronic/schmitt.html</a><br />O takie coś chodzi to jest przerzutnik Shmitta, posiada histerezę dla napięć. Można to zrobić na wzmacniaczu op. albo np na 2 bramkach NAND. Gdzieś to miałem ładnie rozrysowane, muszę poszukać. Ale wejścia łączyło się razem, bramki posobnie i rezystancję z wyjścia na wejście jako sprzężenie zwrotne. Ale nie pamiętam wartości.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 7 wrz 2013, o 14:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2013-09-07T13:39:06+01:00</updated>
<published>2013-09-07T13:39:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48588#p48588</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48588#p48588"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48588#p48588"><![CDATA[
hej to jest fototranzystor<br /><br />a poniżej schemat podłączenia<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/1123/db0cfe093540c321c63e6c39643e4564.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1123/db0cfe093540c321c63e6c39643e4564.png" alt="Obrazek" /></a><br /><br />Dioda IR świeci światłem ciągłym<br /><br />Zapomniałem narysować ale jest pull up na fototranzystorze do +<br /><br />może to inaczej rozwiązać?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 7 wrz 2013, o 13:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-06T23:27:55+01:00</updated>
<published>2013-09-06T23:27:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48564#p48564</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48564#p48564"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48564#p48564"><![CDATA[
<div class="quotetitle">Atmegowiec napisał(a):</div><div class="quotecontent"><br />Czemu jest tyle przerwań skoro ja raz zasłoniłem, i odsłoniłem ?? drgania styków??<br /></div><br /><br />Rozumiem, że podpięty jest fotorezystor...<br />Jeśli tak, no to w czasie kiedy zmienia się jego oporność występują przeróżne stany pośrednie i procesor je traktuje jako zbocza do przerwań.<br />Trzeba by podłączyć go przez układ z czymś w rodzaju histerezy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 6 wrz 2013, o 23:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2013-09-06T23:10:32+01:00</updated>
<published>2013-09-06T23:10:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48562#p48562</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48562#p48562"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48562#p48562"><![CDATA[
[syntax=c]int main(void)<br />{<br /><br />  MCUCR |= (1&lt;&lt;ISC01);               <br />        GICR |= (1&lt;&lt;INT0);<br /><br />             DDRA |= (1&lt;&lt;PA4);       // LED<br /><br />        sei();<br /><br />lcd_init();<br /><br />        while(1){<br /><br />                lcd_locate(0,0);<br />                lcd_int(l);<br /><br /><br />             }<br />        }<br /><br />ISR(INT0_vect){<br /><br />l++;<br />PORTA ^= (1&lt;&lt;PA4);<br />              }[/syntax]<br /><br />miga dioda, ale na wyświetlaczu, nie ma co jeden, tylko przeskakuje o kilkanascie cyfr. Czemu jest tyle przerwań skoro ja raz zasłoniłem, i odsłoniłem ??  drgania styków?? jak? tu??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 6 wrz 2013, o 23:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-06T21:51:09+01:00</updated>
<published>2013-09-06T21:51:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48537#p48537</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48537#p48537"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48537#p48537"><![CDATA[
Bez ściągnięcia rezystorem na T0 jest stan nieustalony i pojawiają przypadkowe zbocza, dlatego po 4 sek doliczyło samo do 255.<br /><br /><div class="quotetitle">Atmegowiec napisał(a):</div><div class="quotecontent"><br />tylko mi tez choidzło o to by przerwanie wysteppowało co kazde zbocze narastaje a nie po 256<br /></div><br />Obawiam się, że w ten sposób tego nie osiągniesz.<br />U Ciebie timer pracuje w trybie Normal, czyli liczy ZAWSZE do wartości TOP czyli 255. Zwykle napędza się go taktem zegara procesora (podzielonym przez preskaler) i wtedy przepełnienie występuje po określonym czasie. Dzięki temu mamy podstawę czasu dla przerwania OVF_vect.<br />U Ciebie jest tylko taka różnica, że napędzasz timer zewnętrznym sygnałem, z natury asynchronicznym, ale przerwanie w tym trybie zawsze będzie wygenerowane po przepełnieniu licznika czyli po przekroczeniu 255.<br /><br />Żeby mieć za każdym impulsem wywołane przerwanie musisz albo zastosować wejście ICP i Timer1 (16 bitowy), albo możesz spróbować załadować licznik TCNT0 wartoscią 255, wtedy pojedynczy impuls go przepełni i wywoła przerwanie, w którym znowu go załadujesz wartością 255.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 6 wrz 2013, o 21:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2013-09-06T21:40:08+01:00</updated>
<published>2013-09-06T21:40:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48534#p48534</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48534#p48534"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48534#p48534"><![CDATA[
gdy podiołem T0 do masy, tak z 50 wcisniec i sie zapala, bez rezystora zapala sie po 4 sekundach samo z siebie...<br /><br />Wiec reaguje..<br />pozostaje pytanie jak podłaczyc fotorezystor by reagowało.. na niego<br /><br />tylko mi tez choidzło o to by przerwanie wysteppowało co kazde zbocze narastaje a nie po 256<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 6 wrz 2013, o 21:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-06T21:18:12+01:00</updated>
<published>2013-09-06T21:18:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48526#p48526</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48526#p48526"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48526#p48526"><![CDATA[
Nie, nie, nie zupełnie.<br />Za zliczanie zbocz (narastających) odpowiada to:<br />[syntax=c]TCCR0 |= (1&lt;&lt;CS00) | (1&lt;&lt;CS01) | (1&lt;&lt;CS02);  // rosnące zbocze[/syntax]<br /><br />Możesz to traktować jako zewnętrzny zegar dla timera0.<br />Jeśli by miał reagować na zbocze opadające to bit CS00 musiałby być ostawiony na zero.<br /><br />PB0 czyli T0, jest wejściem, panuje na nim stan.... jest nie podciągnięte, więc powinien być niski, ale tak sobie teraz myślę, że może tam być nie wiadomo co. Może dobrze by było dać rezystor 10 kohm, ale fizycznie do masy, żeby wymusić stan niski. Wtedy będzie pewność, że przycisk będzie generował zbocze narastajjące przy wciśnięciu.<br /><br />Tylko pamiętaj, że przerwanie zostanie wywołane po 255 impulsach (zboczach). W praktyce każde naciśniecie i zwolnienie przycisku wygeneruje wiele takich zboczy. Więc pewnie 20 naciśniśnięć wystarczy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 6 wrz 2013, o 21:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2013-09-06T21:06:47+01:00</updated>
<published>2013-09-06T21:06:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48524#p48524</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48524#p48524"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48524#p48524"><![CDATA[
[syntax=c]int main(void)<br />{<br /><br />        //Timer0 dla sekundnika<br />       TCCR0 |= (1&lt;&lt;CS00) | (1&lt;&lt;CS01) | (1&lt;&lt;CS02);  // rosnące zbocze<br />       TIMSK |= (1&lt;&lt;TOIE0);  // zezwolenie na przerwanie overflow (gdy do 255 dojdzie to następuje przerwanie)<br />       TIFR |= (1&lt;&lt;TOV0);<br />    <br />        DDRB &amp;= ~(1&lt;&lt;PB0); // Klawisz<br />        DDRA |= (1&lt;&lt;PA4);       // LED<br /><br />        sei();<br /><br />        while(1){<br /><br />            <br />             }<br />        }<br /><br />ISR(TIMER0_OVF_vect){<br /><br />PORTA |= (1&lt;&lt;PA4);<br />              }[/syntax]<br /><br />dobrze rozumiem ze taki kod powoduje na T0 zapalanie diody tylko na zboczu opadającym???<br /><br />efekt jest taki ze czy podepne czy nie podepne klawisza dioda zapala sie z opóznieniem jakims 4 s i tyle, lecz gdy od samego właczenia zasilania trzymam wcisniety to dioda nie zapala sie wogole.. dopiero jak puszcze minie te 3-4 s to sie zapala i juz potem zero reakcji na klawisz... swieci cały czas<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 6 wrz 2013, o 21:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-06T20:55:30+01:00</updated>
<published>2013-09-06T20:55:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48520#p48520</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48520#p48520"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48520#p48520"><![CDATA[
Bity ustawiasz dobrze.<br />Ale ja bym sprawdził, czy w ogóle procesor reaguje na to narastające zbocze. Np. dać klawisz, który będzie zwierał do VCC.<br />Tylko wtedy usuń to:<br />[syntax=c]PORTB |=  (1&lt;&lt;PB0);    // podciagamy rezystor[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 6 wrz 2013, o 20:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2013-09-06T20:41:11+01:00</updated>
<published>2013-09-06T20:41:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48515#p48515</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48515#p48515"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48515#p48515"><![CDATA[
niestety nic to nie zmieniło...<br />jak ustawić te bity, moze to całkiem inaczej trzeba?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 6 wrz 2013, o 20:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-06T20:37:35+01:00</updated>
<published>2013-09-06T20:37:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48514#p48514</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48514#p48514"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48514#p48514"><![CDATA[
Spróbuj ustawić bit TOV0 w rejestrze TIFR na wartość jeden.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 6 wrz 2013, o 20:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2013-09-06T20:33:43+01:00</updated>
<published>2013-09-06T20:33:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48513#p48513</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48513#p48513"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48513#p48513"><![CDATA[
chodiz mi o to zeby wykozystac fototranzystor jako enkoder optyczny do zliczania impulsów<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 6 wrz 2013, o 20:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-06T20:21:31+01:00</updated>
<published>2013-09-06T20:21:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48506#p48506</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48506#p48506"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48506#p48506"><![CDATA[
Nigdy tak nie używałem Timer0, zliczanie impulsów chyba lepiej robić przez ICP na Timer1. <br /><br /><br /><br />Ale do timer0 chyba trzeba jeszcze ustawić takie coś.<br />[syntax=c]TIFR |= (1&lt;&lt;TOV0);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 6 wrz 2013, o 20:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2013-09-06T20:06:57+01:00</updated>
<published>2013-09-06T20:06:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48505#p48505</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48505#p48505"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rosnące zbocze]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48505#p48505"><![CDATA[
Atmega16<br /><br />ustawiłęm te bity bo według noty wtedy timer nakreca sie poprzez zewnetne T0 czyli tam gdzie podpiety mam fototranzystor.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 6 wrz 2013, o 20:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-06T20:04:37+01:00</updated>
<published>2013-09-06T20:04:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48504#p48504</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48504#p48504"/>
<title type="html"><![CDATA[Re: Przerwanie/ Timer na opadające/rozn zbocze - potrzebna p]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48504#p48504"><![CDATA[
W TCCR0 bity CSx służa do ustawienie peskalera, czli szybkości napędzania timera przez zegar proca.<br /><br />Jaki to procesor ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 6 wrz 2013, o 20:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2013-09-06T19:59:08+01:00</updated>
<published>2013-09-06T19:59:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48502#p48502</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48502#p48502"/>
<title type="html"><![CDATA[Przerwanie/ Timer na opadające/rozn zbocze - potrzebna pomoc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4093&amp;p=48502#p48502"><![CDATA[
Witam potrzebuje pomocy.. chyba juz bardziej podpadającej pod ten dział. Mianowicie potrzebuje zliczać impulsy (zmianę stanów z 0 na 1)<br />Dobre rozumiem ze mozna to realizowac poprzez sprzetowe T0 ?  ja i przez przerwanie na INT ? nie rozumiem dokonca jak to działa w obu tych przypadkach i jak to ustawic w  bitach.<br /><br />[syntax=c]int main(void)<br />{<br /><br />        //Timer0 dla zbocza rosnącego<br />       TCCR0 |= (1&lt;&lt;CS00) | (1&lt;&lt;CS01) | (1&lt;&lt;CS02);  // rosnące zbocze<br />       TIMSK |= (1&lt;&lt;TOIE0);  // zezwolenie na przerwanie overflow (gdy do 255 dojdzie to następuje przerwanie)<br /><br />      <br />        DDRB &amp;= ~(1&lt;&lt;PB0); //tu podłaczony fototranzystor<br />        PORTB |=  (1&lt;&lt;PB0);    // podciagamy rezystor<br /><br />      <br />        sei();<br />        lcd_init();<br /><br />        while(1){<br /><br />                lcd_locate(0,0);<br />                lcd_str(&quot;Liczba&quot;);<br />                lcd_int(l);                // zmienna &quot;l&quot; zawiera liczbę zmian stanów<br /><br />                }<br /><br />}<br />ISR(TIMER0_OVF_vect){<br /><br />l++;      // gdy wystapi zbocze narastające dodaj do zmiennej &quot;l&quot; jeden[/syntax]<br /><br /><br /><br />niestety nie bardzo mi ten kod działa, choc powinien. Zapewne popełniam ciagle jakis błąd, neistety nie moge go zobaczyc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 6 wrz 2013, o 19:59</p><hr />
]]></content>
</entry>
</feed>