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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-11-26T15:42:10+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=21616&amp;mode</id>
<entry>
<author><name><![CDATA[jony15]]></name></author>
<updated>2018-11-26T15:42:10+01:00</updated>
<published>2018-11-26T15:42:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214079#p214079</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214079#p214079"/>
<title type="html"><![CDATA[Re: Atmega169 problemy z przerwaniem PCINT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214079#p214079"><![CDATA[
Udało się, działa. <br />Kolego &quot;Zealota&quot; ten up nie posiada rejestru PCICR. <br /><br />Przyczyna - jak się okazało to nie up Atmega169 a Atmega169PA, do tej pory myślałem że litery na końcu up PA ,A to mało znaczące jak w Atmega8 i Atmega8A; a w przypadku Atmega169PA różnią się rozmieszczenie bitów w rejestrze EIMSK i EIFR odpowiedzialnym za przerwania na pinach PCINT. Opisuje to pdf AVR529 <a href="http://ww1.microchip.com/downloads/en/AppNotes/doc8295.pdf"  class="postlink">http://ww1.microchip.com/downloads/en/AppNotes/doc8295.pdf</a><br /><br />Działający kod:<br />[syntax=c]PCMSK0|=(1&lt;&lt;PCINT3)|(1&lt;&lt;PCINT4)|(1&lt;&lt;PCINT5);<br />EIMSK|=(1&lt;&lt;4);//dla PCINT0-7<br />sei();<br /><br />//obsluga przerwania ( ISR ) pozostaje bez zmian[/syntax]<br /><br />Człowiek całe życie się uczy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2183">jony15</a> — 26 lis 2018, o 15:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zealota]]></name></author>
<updated>2018-11-26T09:42:09+01:00</updated>
<published>2018-11-26T09:42:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214065#p214065</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214065#p214065"/>
<title type="html"><![CDATA[Re: Atmega169 problemy z przerwaniem PCINT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214065#p214065"><![CDATA[
<div class="quotetitle">jony15 napisał(a):</div><div class="quotecontent"><br />Witam, jak w temacie nie mogę uruchomić przerwania na pinach PCINT ( PCINT3,PCINT4,PCINT5 - tylko tych potrzebuję ). poniżej trochę kodu - nie mam już pomysłu co może być nie tak. <br />po main:<br />[syntax=c]PCMSK0|=(1&lt;&lt;PCINT3)|(1&lt;&lt;PCINT4)|(1&lt;&lt;PCINT5);<br />EIMSK|=(1&lt;&lt;PCIE0);<br />sei();[/syntax]<br /></div><br /><br />Wg mnie zabrakło jeszcze obsłużenia rejestru PCICR<br />&quot;• Bit 0 – PCIE0: Pin Change Interrupt Enable 0<br />When the PCIE0 bit is set (one) and the I-bit in the Status Register (SREG) is set (one), pin change interrupt 0 is<br />enabled. Any change on any enabled PCINT[7:0] pin will cause an interrupt. The corresponding interrupt of Pin<br />Change Interrupt Request is executed from the PCI0 Interrupt Vector. PCINT[7:0] pins are enabled individually<br />by the PCMSK0 Register&quot;.<br /><br />Inaczej pisząc:<br />[syntax=c]PCICR |= ( 1&lt;&lt; PCIE0 );[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=16487">Zealota</a> — 26 lis 2018, o 09:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jony15]]></name></author>
<updated>2018-11-26T08:45:27+01:00</updated>
<published>2018-11-26T08:45:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214060#p214060</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214060#p214060"/>
<title type="html"><![CDATA[Re: Atmega169 problemy z przerwaniem PCINT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214060#p214060"><![CDATA[
Dlatego że zmienna &quot;aaa&quot; nie zmienia stanu, próbowałem zmieniać w przerwaniu stan innego pinu ( led-a ) i też bez skutku. Za to znalazłem notę AVR529 opisującą różnice pomiędzy Atmega169P a Atmega169PA. Wieczorem powalczę więcej z tym avr-em.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2183">jony15</a> — 26 lis 2018, o 08:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2018-11-26T08:24:27+01:00</updated>
<published>2018-11-26T08:24:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214058#p214058</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214058#p214058"/>
<title type="html"><![CDATA[Re: Atmega169 problemy z przerwaniem PCINT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214058#p214058"><![CDATA[
A skąd wiesz, że nie wskakuje?<br />Zmienna aaa jest z przedrostkiem volatile?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12752">Marhef</a> — 26 lis 2018, o 08:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jony15]]></name></author>
<updated>2018-11-25T23:55:29+01:00</updated>
<published>2018-11-25T23:55:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214056#p214056</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214056#p214056"/>
<title type="html"><![CDATA[Atmega169 problemy z przerwaniem PCINT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21616&amp;p=214056#p214056"><![CDATA[
Witam, jak w temacie nie mogę uruchomić przerwania na pinach PCINT ( PCINT3,PCINT4,PCINT5 - tylko tych potrzebuję ). poniżej trochę kodu - nie mam już pomysłu co może być nie tak. sei() - na pewno jest przed pętlą while, w up włączona jest dodatkowo obsługa kontrolera lcd ( zwykły lcd ciekłokrystaliczny ).<br /><br />po main:<br />[syntax=c]PCMSK0|=(1&lt;&lt;PCINT3)|(1&lt;&lt;PCINT4)|(1&lt;&lt;PCINT5);<br />EIMSK|=(1&lt;&lt;PCIE0);<br />sei();[/syntax]<br /><br />ISR do przerwania<br />[syntax=c]ISR(PCINT0_vect){<br />aaa++;<br />}[/syntax]<br />Niestety mimo zmian stanów na tych trzech pinach na żadnym program nie &quot;wskakuje&quot; do przerwania.<br /><br />Przepraszam za edytowanie.<br />Próbowałem na szybko na innej płytce z tym samym up, lecz efekt ten sam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2183">jony15</a> — 25 lis 2018, o 23:55</p><hr />
]]></content>
</entry>
</feed>