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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-01-04T22:54:14+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=17224&amp;mode</id>
<entry>
<author><name><![CDATA[tommot]]></name></author>
<updated>2017-01-04T22:54:14+01:00</updated>
<published>2017-01-04T22:54:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=179083#p179083</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=179083#p179083"/>
<title type="html"><![CDATA[Re: obsluga przerwan int0,int1 problem przy korzystaniu z MK]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=179083#p179083"><![CDATA[
Jeśli bym zerkał do wnętrza biblioteki może może by mi to wpadło w oko ale tak się nie stało <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />    // definicje na potrzeby RS485<br />Mówi mi tylko tyle że są potrzebne do rs485 nie mówią że powinny być wyłączone jeśli ich nie używamy - a ja jako początkujący rozumie kompilator w sposób taki &quot;nie użył to nie załączam &quot; <br />Teraz wiem że trzeba patrzeć na to nieco inaczej.<br /><br />Po podpowiedzi  Mirka zauważyłem konflikt pinów //#define UART_DE_BIT (1&lt;&lt;PD2) <br />a co do jego szklanej kuli <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />to można je włożyć miedzy bajki.<br /><br />On jest po prostu dobry i zna się na rzeczy. Czyta kod jak gazetę i dostrzega takie błędy automatycznie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />OK Jeszcze raz dziękuje za pomoc  i Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15541">tommot</a> — 4 sty 2017, o 22:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[skalarro]]></name></author>
<updated>2017-01-04T21:44:31+01:00</updated>
<published>2017-01-04T21:44:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=179074#p179074</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=179074#p179074"/>
<title type="html"><![CDATA[Re: obsluga przerwan int0,int1 problem przy korzystaniu z MK]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=179074#p179074"><![CDATA[
<div class="quotetitle">tommot napisał(a):</div><div class="quotecontent"><br />Tyle że skąd mam o tym wiedzieć że należy je za komentować w Pana bibliotece ?<br /></div><br /><br />Pierwsze co Cię powinno zastanowić to komentarz: <br />[syntax=c]// definicje na potrzeby RS485[/syntax]<br /><br />drugie to:<br />[syntax=c]//#define UART_DE_DIR DDRD<br />//#define UART_DE_BIT (1&lt;&lt;PD2)[/syntax]<br /><br />kłóci się z:<br />[syntax=c]DDRD &amp;=~ (1 &lt;&lt; PD2);[/syntax]<br /><br /><br />Mirek, powiedz wreszcie, Ty jednak masz tą szklaną kulę co?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4850">skalarro</a> — 4 sty 2017, o 21:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tommot]]></name></author>
<updated>2017-01-04T21:31:56+01:00</updated>
<published>2017-01-04T21:31:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=179070#p179070</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=179070#p179070"/>
<title type="html"><![CDATA[Re: obsluga przerwan int0,int1 problem przy korzystaniu z MK]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=179070#p179070"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />sprawdź czy w bibliotece uart nie pozostawiłeś pan zainicjalizowanej obsługi RS485 <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> popatrz tam z jakimi pinami to się wiąże i dlaczego może być problem w takim układzie jak masz<br /></div><br />Jak zwykle ma Pan racje.Za komentowanie linijek w biblitece #include &quot;MKUART/mkuart.h&quot;<br />[syntax=c]// definicje na potrzeby RS485<br />//#define UART_DE_PORT PORTD<br />//#define UART_DE_DIR DDRD<br />//#define UART_DE_BIT (1&lt;&lt;PD2)[/syntax]<br />rozwiązało problem <br />Tyle że skąd mam o tym wiedzieć że należy je za komentować w Pana bibliotece ?<br />pozdawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15541">tommot</a> — 4 sty 2017, o 21:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-01-03T22:25:47+01:00</updated>
<published>2017-01-03T22:25:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178965#p178965</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178965#p178965"/>
<title type="html"><![CDATA[Re: obsluga przerwan int0,int1 problem przy korzystaniu z MK]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178965#p178965"><![CDATA[
sprawdź czy w bibliotece uart nie pozostawiłeś pan zainicjalizowanej obsługi RS485 <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> popatrz tam z jakimi pinami to się wiąże i dlaczego może być problem w takim układzie jak masz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 sty 2017, o 22:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tommot]]></name></author>
<updated>2017-01-03T17:39:38+01:00</updated>
<published>2017-01-03T17:39:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178943#p178943</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178943#p178943"/>
<title type="html"><![CDATA[Re: obsluga przerwan int0,int1 problem przy korzystaniu z MK]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178943#p178943"><![CDATA[
<div class="quotetitle">Elektro_maniak napisał(a):</div><div class="quotecontent"><br />Nie analizowałem całego kodu, ale pierwsze co się rzuca w oczy to brak przedrostka volatile przy zmiennych, które są wykorzystywane w przerwaniu<br /></div><br />ups pisze 2 raz bo odpowiedz znikła <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br />już użytkownik anshar zwrócił mi uwagę na brak  przedrostka a nawet cały artykuł.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15541">tommot</a> — 3 sty 2017, o 17:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tommot]]></name></author>
<updated>2017-01-03T16:22:07+01:00</updated>
<published>2017-01-03T16:22:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178938#p178938</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178938#p178938"/>
<title type="html"><![CDATA[Re: obsluga przerwan int0,int1 problem przy korzystaniu z MK]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178938#p178938"><![CDATA[
<div class="quotetitle">skalarro napisał(a):</div><div class="quotecontent"><br />a jak konfigurujesz przerwania int0 i int1????<br /></div><br /><br />[syntax=c]int Encoder_init()<br />{<br />DDRD &amp;=~ (1 &lt;&lt; PD2);/* PD2 and PD3 as input */<br />  DDRD &amp;=~ (1 &lt;&lt; PD3);<br />  PORTD |= (1 &lt;&lt; PD3)|(1 &lt;&lt; PD2);   /* PD2 and PD3 pull-up enabled   */<br /><br />  GICR |= (1&lt;&lt;INT0)|(1&lt;&lt;INT1);/* enable INT0 and INT1 */<br />  MCUCR |= (1&lt;&lt;ISC01)|(1&lt;&lt;ISC11)|(1&lt;&lt;ISC10); /* INT0 - falling edge, INT1 - reising edge */<br /><br />  /* enable interrupts */<br />  sei();<br />return(0);<br /><br />}[/syntax]<br /><br />i szkielet funkcji LED<br /><br />[syntax=c]void spiSendByte (char databyte)<br />{<br />    // Copy data into the SPI data register<br />    SPDR = databyte;<br />    // Wait until transfer is complete<br />    while (!(SPSR &amp; (1 &lt;&lt; SPIF)));<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15541">tommot</a> — 3 sty 2017, o 16:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[skalarro]]></name></author>
<updated>2017-01-03T16:12:26+01:00</updated>
<published>2017-01-03T16:12:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178935#p178935</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178935#p178935"/>
<title type="html"><![CDATA[Re: obsluga przerwan int0,int1 problem przy korzystaniu z MK]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178935#p178935"><![CDATA[
a jak konfigurujesz przerwania int0 i int1????<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4850">skalarro</a> — 3 sty 2017, o 16:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Elektro_maniak]]></name></author>
<updated>2017-01-03T16:07:56+01:00</updated>
<published>2017-01-03T16:07:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178934#p178934</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178934#p178934"/>
<title type="html"><![CDATA[Re: obsluga przerwan int0,int1 problem przy korzystaniu z MK]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178934#p178934"><![CDATA[
Nie analizowałem całego kodu, ale pierwsze co się rzuca w oczy to brak przedrostka volatile przy zmiennych, które są wykorzystywane w przerwaniu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2202">Elektro_maniak</a> — 3 sty 2017, o 16:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tommot]]></name></author>
<updated>2017-01-03T15:57:17+01:00</updated>
<published>2017-01-03T15:57:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178933#p178933</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178933#p178933"/>
<title type="html"><![CDATA[obsluga przerwan int0,int1 problem przy korzystaniu z MKUART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17224&amp;p=178933#p178933"><![CDATA[
Witam <br />Dziś doświadczyłem ciekawego problemu z obsługą przerwań <br /><br />najpierw kod :<br />[syntax=c]#include &lt;stdio.h&gt;<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &quot;led8dig/led8dig.h&quot;<br />#include &quot;MKUART/mkuart.h&quot;<br />#include &quot;moje_funkcje.h&quot;<br /><br />uint32_t zmienna ;<br />uint16_t zmienna1 ;<br />uint32_t przelicznik ;<br />uint16_t wynik ;<br /><br />int main(void)<br />{<br /><br />LED8DIG_init();                            //inicjacja LED 8DIG<br />USART_Init( __UBRR );// inicjalizacja UART<br />sei();                  // globalne odblokowanie przerwań<br />        Encoder_init();<br /><br />   while(1)<br />   {<br />przelicznik = (uint32_t)(zmienna*75UL);    //przelicznie<br />wynik = (uint16_t)(przelicznik/1000UL);    //przeliczanie<br /><br />LED8DIG_send(wynik);<br />uart_putc(zmienna);<br />_delay_us(1000);<br />   }<br />  return 0;<br />}<br />//INT0 interrupt<br />ISR(INT0_vect )<br />{<br />if(!bit_is_clear(PIND, PD3))<br />{<br />zmienna++;<br />}<br />else<br />{<br />zmienna--;<br />}<br />}<br />//INT1 interrupt<br />ISR(INT1_vect )<br />{<br />if(!bit_is_clear(PIND, PD2))<br />{<br />zmienna++;<br />}<br />else<br />{<br />zmienna--;<br />}<br />}[/syntax]<br />opis tak w skrócie:<br /><br />najpierw inicjacja UART, LED,enkodera (włączenie obsługi przerwań)<br />Pętla while w nieskończoność<br />a w niej najważniejsze to:<br />wysłanie na led ,uart <br />i na końcu delay<br /><br /><br />Problem:<br />w takiej formie program działa ale obsługa przerwań wykonuje tylko else (zmienna--) <br />gdy zakomentuje uart_putc(zmienna); program działa prawidłowo;<br />ale...<br /> jeśli pozostawię uart_putc(zmienna); i zmniejszę delay na 100 program tez prawidłowo działa<br /><br /><br />nie rozumie jak  delay jak i uart wpływa na prace programu <br />Uart na pewno korzysta z przerwań to oczywiste musi, aby wysłać szeregowo dane ale delay ? Nie wiem jak jest skonstruowana funkcja nie zagłębiam się w biblioteki bo to za wysokie progi <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />może ktoś dostrzeże ewidentny błąd popełniany przez nowicjuszy bo ja nie potrafię<br />każde uwagi mile widziane <br /> pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15541">tommot</a> — 3 sty 2017, o 15:57</p><hr />
]]></content>
</entry>
</feed>