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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-11-06T20:16:23+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=1381&amp;mode</id>
<entry>
<author><name><![CDATA[rescue1]]></name></author>
<updated>2013-11-06T20:16:23+01:00</updated>
<published>2013-11-06T20:16:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55666#p55666</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55666#p55666"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55666#p55666"><![CDATA[
Ale po poprawce mam &amp;= przed  <img src="https://forum.atnel.pl/images/smilies/icon_rolleyes.gif" alt=":roll:" title="Udaje, że to nie on" /> <br /><br />Wiem, że nie muszę. Bez przerwań ogarniam bez problemu (ale zabrzmiało <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ) <br />Sęk w tym, ze teraz właśnie ćwiczę sobie przerwania i chciałem tak ich użyć. Jak się okazało trochę na siłę. No i widać, ze jeszcze ustawianie bitów muszę porządnie przemielić. <br /><br />Dzięki wielkie za zainteresowanie!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1819">rescue1</a> — 6 lis 2013, o 20:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-11-06T19:16:07+01:00</updated>
<published>2013-11-06T19:16:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55656#p55656</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55656#p55656"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55656#p55656"><![CDATA[
Nie musisz korzystać z przerwań:<br />[syntax=c]while(1)  {<br />   LED1_ON;<br />   _delay_ms(50);<br />   LED1_OFF;<br />   _delay_ms(500);<br />   while( !(PINB &amp; (1&lt;&lt;PB1)) ){//wstrzymanie głównej pętli gdy stan niski<br />      PORTB |= (1&lt;&lt;PB0); //zapal LED2<br />   }<br />   PORTB &amp;= ~(1&lt;&lt;PB0); //zgaś LED2<br />}[/syntax]<br /><br />[syntax=c](0&lt;&lt;ISC01)[/syntax]<br />Czegoś takiego się nie używa, bo to nic nie robi, 0 po przesunięciu to nadal 0. Twój przykład wyzeruje cały rejestr, a jak dodasz ~() to nic nie zrobi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 6 lis 2013, o 19:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rescue1]]></name></author>
<updated>2013-11-06T09:14:09+01:00</updated>
<published>2013-11-06T09:14:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55618#p55618</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55618#p55618"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55618#p55618"><![CDATA[
<div class="quotetitle">Krauser napisał(a):</div><div class="quotecontent"><br />Tu jest tak, że wykonywana jest funkcja przerwania i program wraca do głównego programu i wykonuje jedną instrukcję (asemblerową) po czym zabiera się za wykonywanie funkcji obsługi oczekującego przerwania.<br /></div><br /><br />A, to już wiem skąd to wydłużenie czasu przy podaniu na stałe niskiego stanu na INT0. Bo rozkłada się na zmianę stanu diody (w wektorze) i skok do głównej funkcji. Dobrze myślę?<br />Czyli jeśli chcę wstrzymać wykonywanie błyskania na czas występowania stanu niskiego na jakimś pinie to użycie do tego przerwania jest chybionym pomysłem tak?<br /><br /><br />EDIT....<br /><br />A z MCUCR to faktycznie zamieszałem <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> wyzwolenie INT0 niskim stanem powinno być tak? :<br />[syntax=c]MCUCR  &amp;=   (0&lt;&lt;ISC01)|(0&lt;&lt;ISC00);[/syntax]<br /><br />Użyłem niskiego stanu a nie zbocza opadającego bo chciałem, żeby niski stan blokował wykonywanie głównego programu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1819">rescue1</a> — 6 lis 2013, o 09:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-11-05T22:57:39+01:00</updated>
<published>2013-11-05T22:57:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55591#p55591</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55591#p55591"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55591#p55591"><![CDATA[
Tu jest tak, że wykonywana jest funkcja przerwania i program wraca do głównego programu i wykonuje jedną instrukcję (asemblerową) po czym zabiera się za wykonywanie funkcji obsługi oczekującego przerwania.<br /><br />PS.<br />[syntax=c]MCUCR &amp;= ~(1&lt;&lt;ISC01)|(1&lt;&lt;ISC01);    // stan niski[/syntax]<br />To nie ma żadnego efektu, bo masz ten sam bit 2 razy i ~ ma wyższy priorytet niż |<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 5 lis 2013, o 22:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rescue1]]></name></author>
<updated>2013-11-05T20:57:03+01:00</updated>
<published>2013-11-05T20:57:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55568#p55568</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55568#p55568"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55568#p55568"><![CDATA[
To mam jeszcze takie pytanie.<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 /><br /><br />    int main() {<br /><br /><br />         MCUCR &amp;= ~(1&lt;&lt;ISC01)|(1&lt;&lt;ISC01);    // stan niski<br />             GIMSK  |= (1&lt;&lt;INT0);<br />             sei();<br /><br />             DDRB |= (1&lt;&lt;PB4); /*PB4 jako wyjcie (LED1) */<br />             DDRB |= (1&lt;&lt;PB0); /*PB0 jako wyjcie (LED2) */<br />             DDRB &amp;= ~(1&lt;&lt;PB1); /*PB1 jako wejscie */<br />             PORTB |= (1&lt;&lt;PB1); /*podciągnięcie do PB1 Vcc */<br /><br />#define  LED1_ON PORTB |=(1&lt;&lt;PB4)<br />#define  LED1_OFF PORTB &amp;= ~(1&lt;&lt;PB4)<br /><br /><br />             while(1)  {<br />LED1_ON;<br />_delay_ms(50);<br />LED1_OFF;<br />_delay_ms(500);<br />            }<br /><br />    }<br /><br />    ISR(INT0_vect) {<br /><br />    PORTB ^= (1&lt;&lt;PB0);<br /><br />    }[/syntax]<br /><br />Wrzuciłem do procka powyższy program. W założeniu miało być tak, że błyska sobie LED1 (PB4)a po podaniu stanu niskiego na INT0 błyskanie się zatrzymuje a LED2 (PB0) zmienia stan. No i w zasadzie tak jest. ALE jak zwarłem na stałe INT0 (PB1) do masy to LED2 zapala się na stałe (znaczy pewnie super szybko zmienia stany więc widać świecenie) a LED1 zapala się na sekundę co 10 sekund. Dlaczego? Nie powinno być tak, że dopóki jest stan niski na INT0 to główny program jest przerwany?  A tu na dokładkę główny program zaczął działać inaczej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1819">rescue1</a> — 5 lis 2013, o 20:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rescue1]]></name></author>
<updated>2013-11-03T15:39:25+01:00</updated>
<published>2013-11-03T15:39:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55268#p55268</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55268#p55268"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55268#p55268"><![CDATA[
Nie no teraz będę wiedzieć. Tylko lipa trochę taka. Bo wiesz, człowiek stara się być dokładny. Jak mam A to wybieram A. Aż tu nagle okazuje się, że jak wybiorę poprawnie to Eclipse mi rzuca kłody pod nogi. Co więcej jest niekonsekwentny bo po przestawieniu z 13 na 13A błędu już ponownie nie pokazał. Gdyby nie to forum to tak naprawdę taki świeżak jak ja w życiu by nie doszedł czemu tam jest błąd... a raczej czemu jest a go nie ma. No bo program jest poprawny. Ech...<br />Jakby nie było, WIELKIE DZIĘKI i idę przerywać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1819">rescue1</a> — 3 lis 2013, o 15:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-11-03T15:03:30+01:00</updated>
<published>2013-11-03T15:03:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55266#p55266</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55266#p55266"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55266#p55266"><![CDATA[
<div class="quotetitle">rescue1 napisał(a):</div><div class="quotecontent"><br />Wybrałem 13A bo do stykówki mam włożony własnie 13A.<br /></div><br /><br />Co z tego że masz 13A jeśli nie korzystasz z nowszych bitów konfiguracyjnych w wersji A ... Dlatego jeśli nie wiesz jakie są różnice a w niektórych prockach z literką A na końcu jak np ATmega8A, 32A 16A nie ma ŻADNYCH różnic od strony programowej to nie ustawiaj wersji z A bo po co ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 lis 2013, o 15:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rescue1]]></name></author>
<updated>2013-11-03T14:20:06+01:00</updated>
<published>2013-11-03T14:20:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55262#p55262</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55262#p55262"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55262#p55262"><![CDATA[
Atmel toolchain. <br /><br />Kurde... magia. <br /><br />Zmieniłem na 13 i pchełka znikła. Przestawiłem znów na 13A i pchełki nie ma a kompilacja poszła bez błędów. <br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">**** Build of configuration Release for project przerwanie ****<br /><br />make all <br />Building file: ../main.c<br />Invoking: AVR Compiler<br />avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=attiny13a -DF_CPU=8000000UL -MMD -MP -MF&quot;main.d&quot; -MT&quot;main.d&quot; -c -o &quot;main.o&quot; &quot;../main.c&quot;<br />Finished building: ../main.c<br /> <br />Building target: przerwanie.elf<br />Invoking: AVR C Linker<br />avr-gcc -Wl,-Map,przerwanie.map -mmcu=attiny13a -o &quot;przerwanie.elf&quot;  ./main.o   <br />Finished building target: przerwanie.elf<br /> <br />Invoking: AVR Create Extended Listing<br />avr-objdump -h -S przerwanie.elf  &gt;&quot;przerwanie.lss&quot;<br />Finished building: przerwanie.lss<br /> <br />Create Flash image (ihex format)<br />avr-objcopy -R .eeprom -O ihex przerwanie.elf  &quot;przerwanie.hex&quot;<br />Finished building: przerwanie.hex<br /> <br />Create eeprom image (ihex format)<br />avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex przerwanie.elf  &quot;przerwanie.eep&quot;<br />Finished building: przerwanie.eep<br /> <br />Invoking: Print Size<br />avr-size --format=avr --mcu=attiny13a przerwanie.elf<br />AVR Memory Usage<br />----------------<br />Device: attiny13a<br /><br />Program:     126 bytes (12.3% Full)<br />(.text + .data + .bootloader)<br /><br />Data:          0 bytes (0.0% Full)<br />(.data + .bss + .noinit)<br /><br /><br />Finished building: sizedummy<br /> <br /><br />**** Build Finished ****<br /></div><br /><br />Nic z tego nie rozumiem. Wybrałem 13A bo do stykówki mam włożony własnie 13A.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1819">rescue1</a> — 3 lis 2013, o 14:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-11-03T14:06:49+01:00</updated>
<published>2013-11-03T14:06:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55261#p55261</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55261#p55261"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55261#p55261"><![CDATA[
<div class="quotetitle">rescue1 napisał(a):</div><div class="quotecontent"><br />Procek ustawiony poprawnie na ATTINY13A<br /></div><br /><br />A jakiego toolchaina używasz ? WinAVR czy Atmelowskiego ?<br /><br />Bo jeśli tego pierwszego to procek jest źle ustawiony ...<br /><br />Ustaw ATtiny13<br /><br />I jeśli nie korzystasz z dodatkowych fiuczerów ATtiny13A - to w żadnym z toolchainów nie ustawiaj ATtiny13A<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 lis 2013, o 14:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[acid3]]></name></author>
<updated>2013-11-03T14:04:48+01:00</updated>
<published>2013-11-03T14:04:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55260#p55260</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55260#p55260"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55260#p55260"><![CDATA[
A może kolega wrzuciłby log z Konsoli ?<br />Tam musi coś być ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=944">acid3</a> — 3 lis 2013, o 14:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rescue1]]></name></author>
<updated>2013-11-03T13:57:35+01:00</updated>
<published>2013-11-03T13:57:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55258#p55258</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55258#p55258"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55258#p55258"><![CDATA[
Nowiutki workspace. Zaimportowałem i..... na początku zrobiło sie milion pchełek. Po &quot;clean project&quot; została ta jedna  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> <br />Procek ustawiony poprawnie na ATTINY13A<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/1819/957972750a445d8de60b0222333cbcb0.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1819/957972750a445d8de60b0222333cbcb0.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1819">rescue1</a> — 3 lis 2013, o 13:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-11-03T13:36:11+01:00</updated>
<published>2013-11-03T13:36:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55255#p55255</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55255#p55255"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55255#p55255"><![CDATA[
<div class="quotetitle">rescue1 napisał(a):</div><div class="quotecontent"><br />o co kaman?<br /><br /><!-- m --><a class="postlink" href="http://www.fotosik.pl/pokaz_obrazek/pel" >http://www.fotosik.pl/pokaz_obrazek/pel</a><!-- m --> ... 7e704.html<br /></div><br /><br /><span style="color: #FF0000">Na początek bardzo bardzo uprzejmie cię proszę - ładuj zdjęcia na nasz serwer ok ? - w każdym dziale masz instrukcję prostą jak :</span><br /><br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic44.html" >topic44.html</a><!-- l --><br /><br /><br /><br />a jeśli chodzi o co kaman ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... to:<br /><br />1. czy na 100% masz wybrany właściwy procek w ustawieniach projektu?<br />2. Jeśli właściwy procek to utwórz nowy workspace - czysty i zaimportuj do niego ten projekt i wtedy sprawdź kompilację i daj znać ok?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 lis 2013, o 13:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rescue1]]></name></author>
<updated>2013-11-03T13:22:33+01:00</updated>
<published>2013-11-03T13:22:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55252#p55252</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55252#p55252"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=55252#p55252"><![CDATA[
Witajcie.<br />W wolnych chwilach kombinuję sobie z niebieska ksiażką i czytam tutejsze forum. Zazwyczaj idzie mi nieźle. Ale obecnie własnie jestem na etapie rozkminiania przerwań. Machnąłem sobie do Eclipse`a przykład Mirka i za jasną ciasną nie mogę się pozbyć tej cholernej czerwonej pchełki <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> <br />ATTINY13A, atmel toolchain<br /><br />o co kaman?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1819">rescue1</a> — 3 lis 2013, o 13:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kobuz]]></name></author>
<updated>2012-08-11T18:35:15+01:00</updated>
<published>2012-08-11T18:35:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12396#p12396</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12396#p12396"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12396#p12396"><![CDATA[
Dziękuję bardzo, faktycznie taki sposób lepszy  <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" /> nie wiem w sumie dlaczego sobie tak życie utrudniłem...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=509">Kobuz</a> — 11 sie 2012, o 18:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-08-08T10:54:17+01:00</updated>
<published>2012-08-08T10:54:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12092#p12092</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12092#p12092"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12092#p12092"><![CDATA[
Zaraz zaraz - masz pierwszą książkę moją ? chyba masz z tego co piszesz - więc co za problem zapuścić bodajże drugą lekcję i dodać do niej przewanie jak wyżej z tym że nie wpisuj że Pan do tego przerwania żadnych delayów - po co ?<br /><br />W przerwaniu ZAPAL po prostu sobie jakąś diodę LED - czy to nie da ci znać że przerwanie wystąpiło<br /><br />bo teraz to ty zmieniasz w kółko i wszędzie stan diody na przeciwny - przecież to dla oka się nie nadaje <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Weź że dwie diody LED i zrób sobie tak:<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 />#define LED2 (1&lt;&lt;PB4)<br />#define LED1 (1&lt;&lt;PB1)<br /> <br />int main() {<br />        DDRB |= LED1 | LED2; //Konfiguracja PB1 i PB4 LED<br /> <br />         DDRB &amp;=~(1&lt;&lt;PB0); //Konfiguracja PB0 jako wejcia<br />         PORTB |= (1&lt;&lt;PB0); //Rezystor podciągający<br /><br />         MCUCR |= (1&lt;&lt;ISC01);<br />         GIMSK  |= (1&lt;&lt;INT0);<br /> <br />        sei();<br /> <br />        while(1)  {<br />                PORTB ^= LED1;<br />                _delay_ms(500);<br />        }<br /> <br />}<br /> <br />ISR(INT0_vect) {<br />        PORTB ^= LED2;<br />}[/syntax]<br /><br />i proszę program ma sobie normalnie migać diodą LED1 co pół sekundy a nie tam jakieś 33ms, których nie jesteś już w stanie prawie zobaczyć <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />a jak wciśniesz klawisz podpięty do przerwania to druga dioda LED2 będzie sobie niezależnie zmieniać stan na przeciwny<br /><br />czy coś więcej potrzeba żeby zobaczyć podstawy działania INTx ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 sie 2012, o 10:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kobuz]]></name></author>
<updated>2012-08-08T10:15:01+01:00</updated>
<published>2012-08-08T10:15:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12087#p12087</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12087#p12087"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12087#p12087"><![CDATA[
Głownie chce nauczyć się przerwań, żeby stwierdzić że przerwanie wystąpiło, muszę to jakoś zaobserwować. Żeby mieć pewność że całość działa tak jak zaplanowałem diody świecą i w głównej pętli programu i w pętli przerwania. To, jak miałem nadzieję, pozwoli zaobserwować zmiany.<br /><br />Generalnie robię to na ATtiny13 bo z nim mam problem... jak korzystam z jakiegoś większego uC w którym mam na przykład na porcie C przyciski a na D wyjścia nie ma problemu. W przypadku gdy mam tylko jeden port i na przyciski i na wyjścia program nie działa mi prawidłowo.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=509">Kobuz</a> — 8 sie 2012, o 10:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-08-07T21:34:44+01:00</updated>
<published>2012-08-07T21:34:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12061#p12061</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12061#p12061"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12061#p12061"><![CDATA[
<div class="quotetitle">Kobuz napisał(a):</div><div class="quotecontent"><br />W takim razie podłączę oscyloskop i zerknę jak to wygląda. Dzięki, nie przyzwyczaiłem się jeszcze do sprawdzania takich rzeczy oscyloskopem.<br /></div><br /><br />No bo kolega wyżej chciał ci bardziej przez to powiedzieć, że zdecydowanie lepiej wymyślić inny i prostszy przykład programowy niż coś takiego do czego trzeba oscyloskopu zaraz. Przecież żeby trzeba było do tak prostych celów zaraz targać oscyloskopy to zabawa w programowanie procków byłaby tylko dla ludzi z super zasobną kieszenią.<br /><br />Ja mam całkiem inną propozycję dla kolegi autora wątku. Napisz lepiej co chcesz uzyskać ? opisz to ? co ma pokazać ci taki prosty test - to my tu postaramy się ciebie naprowadzić jaką drogą iść i jak tworzyć taki pierwszy testowy program OK ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 7 sie 2012, o 21:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kobuz]]></name></author>
<updated>2012-08-07T21:10:36+01:00</updated>
<published>2012-08-07T21:10:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12056#p12056</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12056#p12056"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12056#p12056"><![CDATA[
W takim razie podłączę oscyloskop i zerknę jak to wygląda. Dzięki, nie przyzwyczaiłem się jeszcze do sprawdzania takich rzeczy oscyloskopem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=509">Kobuz</a> — 7 sie 2012, o 21:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2012-08-07T21:04:54+01:00</updated>
<published>2012-08-07T21:04:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12053#p12053</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12053#p12053"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=12053#p12053"><![CDATA[
Ale co w tym programie nie działa poprawnie? <br />Bo najpierw w pętli głównej co 33ms zmieniasz stan diody na przeciwny. Co i tak jest dość trudne do zaobserwowania gołym okiem.<br />A potem obsługa przerwania. Zmiana stanu diody na przeciwny dwa razy pod rząd, sekunda przerwy i znowu podwójna zmiana stanu diody. Żeby to zaobserwować to bez oscyloskopu chyba się nie da.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 7 sie 2012, o 21:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kobuz]]></name></author>
<updated>2012-08-06T22:49:01+01:00</updated>
<published>2012-08-06T22:49:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=11985#p11985</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=11985#p11985"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=11985#p11985"><![CDATA[
Niestety program ten nie działa poprawnie, spowodowane jest to tylko wystąpieniem tego opóźnienia w funkcji?<br />uC to oczywiście ATtiny13<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=509">Kobuz</a> — 6 sie 2012, o 22:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Malutki_27]]></name></author>
<updated>2012-08-06T22:41:09+01:00</updated>
<published>2012-08-06T22:41:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=11984#p11984</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=11984#p11984"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=11984#p11984"><![CDATA[
Dlatego nigdy nie używamy _delay_xx w przerwaniach..........<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=225">Malutki_27</a> — 6 sie 2012, o 22:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2012-08-06T22:01:46+01:00</updated>
<published>2012-08-06T22:01:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=11978#p11978</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=11978#p11978"/>
<title type="html"><![CDATA[Re: [C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=11978#p11978"><![CDATA[
<div class="quotetitle">Kobuz napisał(a):</div><div class="quotecontent"><br />Nie za bardzo też rozumiem o co chodzi z tym że funkcja obsługi przerwań powinny być jak najkrótsza? ...<br /></div><br /><br />Nie koniecznie najkrótsza, ale powinna skończyć działanie przed nadejściem następnego przerwania i jeszcze powinno zostać trochę czasu dla programu głównego.<br /><br />Jak chyba wiesz, przerwania wystepują cyklicznie, co jakiś czas. Wyobrażasz sobie co by się stało gdyby procedura obsługi przerwania była za długa? Po pierwsze przyszłoby następne przerwanie, po drugie nie wykonał by się kod z programu głównego.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 6 sie 2012, o 22:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kobuz]]></name></author>
<updated>2012-08-06T21:55:16+01:00</updated>
<published>2012-08-06T21:55:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=11977#p11977</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=11977#p11977"/>
<title type="html"><![CDATA[[C] Attiny13, przerwanie INT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1381&amp;p=11977#p11977"><![CDATA[
Witam, <br /><br />napisałem taki program z użyciem przerwania. Są to moje początki w tym temacie dlatego prosiłbym o wyjaśnienie gdzie jest błąd. <br /><br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 05-08-2012<br /> *      Author: Admin<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 />#define LED2 PB4<br />#define LED1 PB1<br /><br />int main()<br />{<br />DDRB |= (1&lt;&lt;LED1) | (1&lt;&lt;LED2); //Konfiguracja PB1 i PB4 LED<br /><br />DDRB &amp;=~(1&lt;&lt;PB0); //Konfiguracja PB0 jako wejcia<br /><br />PORTB |= (1&lt;&lt;PB0); //Rezystor podciągający<br /><br />MCUCR |= (1&lt;&lt;ISC01);<br /><br />GIMSK  |= (1&lt;&lt;INT0);<br /><br />sei();<br /><br />while(1)<br /><br />{<br />PORTB ^= (1&lt;&lt;LED1);<br />_delay_ms(33);<br />}<br /><br />}<br /><br />ISR(INT0_vect)<br />{<br />PORTB ^= (1&lt;&lt;LED1);<br />PORTB ^= (1&lt;&lt;LED1);<br />_delay_ms(1000);       //zeby sie upewnic ze przerwanie wystapilo<br />PORTB ^= (1&lt;&lt;LED1);<br />PORTB ^= (1&lt;&lt;LED1);<br />}<br /><br />[/syntax]<br /><br />Nie za bardzo też rozumiem o co chodzi z tym że funkcja obsługi przerwań powinny być jak najkrótsza? Jeśli na przykład chciałbym aby po wystąpieniu przerwania np. diody zaczęły cyklicznie migać powiedzmy co min. to jak to zrealizować? Albo jeśli po naciśnięciu przycisku chciałbym żeby serwo wykonało jakąś sekwencję...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=509">Kobuz</a> — 6 sie 2012, o 21:55</p><hr />
]]></content>
</entry>
</feed>