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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-01-06T23:49:32+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=46&amp;t=10080&amp;mode</id>
<entry>
<author><name><![CDATA[gronoarona]]></name></author>
<updated>2015-01-06T23:49:32+01:00</updated>
<published>2015-01-06T23:49:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112860#p112860</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112860#p112860"/>
<title type="html"><![CDATA[Re: STM32F103 EXIT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112860#p112860"><![CDATA[
Wszystko jest ustawione tak jak mówicie i przerwanie czasem reaguje ( a czasem nie) szkoda że nie mogę tego sprawdzić wybiórczo bo płytkę mam już gotową i nie mam możliwości podpięcia tam czegoś. No ale przerwanie czasem się wywołuje więc wydaje mi się że to może być jednak wina ENC zwłaszcza że w  erracie jest info że czasem może się gubić.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1598">gronoarona</a> — 6 sty 2015, o 23:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2015-01-06T23:37:37+01:00</updated>
<published>2015-01-06T23:37:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112856#p112856</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112856#p112856"/>
<title type="html"><![CDATA[Re: STM32F103 EXIT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112856#p112856"><![CDATA[
<div class="quotetitle">gronoarona napisał(a):</div><div class="quotecontent"><br />zapomniałem o AFIO i zegary dla portów są ustawione<br /></div>z Twojego postu to nie wynika na 100% - czy zegar dla AFIO jest też włączony?<br /><br />Przykład przerwania od PC13 dla stm32f103. Przerwanie (gwałcąc wszelkie de-bouncingi itp pierdoły) zmienia stan diody (PB0) - chodziło mi tylko o to aby zobaczyć czy działa <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> To jest cały kod programu i działa na żywym organizmie. Wcześniej jest tylko &quot;startup&quot; (ustawienie stosów, wyzerowanie sekcji bss, skopiowanie data itd..). <br /><br />[syntax=c]int main(void){<br /><br /><br />    RCC-&gt;APB2ENR = RCC_APB2ENR_IOPBEN | RCC_APB2ENR_IOPCEN | RCC_APB2ENR_AFIOEN;<br /><br />    gpio_pin_cfg(GPIOC, PC13, gpio_mode_input_floating);<br />    gpio_pin_cfg(GPIOB, PB0, gpio_mode_output_PP_2MHz);<br /><br />    EXTI-&gt;IMR = EXTI_IMR_MR13;<br />    EXTI-&gt;FTSR = EXTI_FTSR_TR13;<br />    AFIO-&gt;EXTICR&#91;3&#93; = AFIO_EXTICR4_EXTI13_PC;<br /><br />    NVIC_EnableIRQ(EXTI15_10_IRQn);<br /><br />    while(1);<br />}<br /><br /><br />void EXTI15_10_IRQHandler(void){<br /><br />    if ( EXTI-&gt;PR &amp; EXTI_PR_PR13 ){<br />        EXTI-&gt;PR = EXTI_PR_PR13;<br />        GPIOB-&gt;ODR ^= PB0;<br /><br />    }<br /><br />}[/syntax]<p>Statystyki: Napisane przez Gość — 6 sty 2015, o 23:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Federerer]]></name></author>
<updated>2015-01-06T23:23:09+01:00</updated>
<published>2015-01-06T23:23:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112849#p112849</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112849#p112849"/>
<title type="html"><![CDATA[Re: STM32F103 EXIT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112849#p112849"><![CDATA[
Sprawdź jeszcze dokładnie w nocie czy nie pomyliłeś gdzieś któregoś rejestru/bitu/nazwy przerwania. Mam gotowca, który działa, ale na F0, więc trochę się różni. Sprawdziłeś diodą albo oscyloskopem czy rzeczywiście nie masz przerwania czy może coś nie tak jest z funkcją odbioru?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4440">Federerer</a> — 6 sty 2015, o 23:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gronoarona]]></name></author>
<updated>2015-01-06T22:24:11+01:00</updated>
<published>2015-01-06T22:24:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112837#p112837</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112837#p112837"/>
<title type="html"><![CDATA[Re: STM32F103 EXIT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112837#p112837"><![CDATA[
aktualizacja <br />[syntax=c]void exit_init(void)<br />{<br />EXTI-&gt;IMR=EXTI_IMR_MR15; //EVENT mask<br />EXTI-&gt;EMR=EXTI_EMR_MR15; //interrupt mask<br />EXTI-&gt;FTSR=EXTI_FTSR_TR15; //Falling trigger event<br />AFIO-&gt;EXTICR&#91;3&#93;|=AFIO_EXTICR4_EXTI15_PB;<br />EXTI-&gt;PR = EXTI_PR_PR15; //skasowanie flagi przerwania<br /><br />NVIC-&gt;ISER&#91;1&#93;|= (1&lt;&lt;(EXTI15_10_IRQn%32));<br />}<br /><br />void EXTI15_10_IRQHandler(void)<br />{<br />u32 extiArrives = EXTI-&gt;PR;<br /> EXTI-&gt;PR=extiArrives;<br /><br />if(extiArrives &amp; EXTI_PR_PR15)<br />{<br />receive_ETHERNET_packet();<br />}<br /><br />}[/syntax]<br /><br />zapomniałem o AFIO i zegary dla portów są ustawione, usunąłem część jednak zachowanie jest wciąż takie same.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1598">gronoarona</a> — 6 sty 2015, o 22:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2015-01-06T19:00:14+01:00</updated>
<published>2015-01-06T19:00:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112794#p112794</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112794#p112794"/>
<title type="html"><![CDATA[Re: STM32F103 EXIT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112794#p112794"><![CDATA[
Straszny bałagan <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Przerwania to rejestr IMR (Interrupt Mask Register), rejestr EMR (Event Mask Register) dotyczy zdarzeń - jeśli nie wykorzystujesz zdarzeń np. do wybudzania procka (a nic o tym nie piszesz) to zostaw EMR w spokoju. <br /><br />Rejestr SWIER (Software Interrupt/Event Register) umożliwia programowe wymuszenie przerwania/zdarzenia - więc chyba też nie o to Ci chodzi <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Zresztą stąd jest Twoje wywołanie jeden raz po konfiguracji&quot; - wymuszasz je programowo.<br /><br />Przyłączam się do pytania przedmówcy - czy włączyłeś przerwanie w NVIC'u. Priorytetu nie musisz ruszać - może zostać tak jak jest. <br /><br />Pytanie2: włączasz zegar dla portu i AFIO? Brakuje konfiguracji rejestru AFIO-&gt;EXTIx. <br /><br />Działający przykład (PD3):<br />[syntax=c]EXTI-&gt;IMR = EXTI_IMR_MR3;                   /* Odmaskowanie przerwań generowanych na linii 3. */<br />EXTI-&gt;RTSR = EXTI_RTSR_TR3;                 /* Przerwanie wyzwalane rosnącym zboczem sygnału. */<br />AFIO-&gt;EXTICR&#91;0&#93; |= AFIO_EXTICR1_EXTI3_PD;   /* Wybranie źródła przerwania - port D. */<br />EXTI-&gt;PR = EXTI_PR_PR3;                     /* Profilaktyczne skasowanie flagi przerwania w bloku EXTI. */<br />NVIC_ClearPendingIRQ(EXTI3_IRQn);           /* Profilaktyczne skasowanie flagi przerwania w kontrolerze NVIC. */<br />NVIC_EnableIRQ(EXTI3_IRQn);                 /* Włączenie przerwania. */[/syntax]<p>Statystyki: Napisane przez Gość — 6 sty 2015, o 19:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gronoarona]]></name></author>
<updated>2015-01-06T18:50:10+01:00</updated>
<published>2015-01-06T18:50:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112789#p112789</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112789#p112789"/>
<title type="html"><![CDATA[Re: STM32F103 EXIT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112789#p112789"><![CDATA[
a tak zapomniałem tego wkleić, wszystko jest. ;p <br />Przerwanie jest wywoływane zaraz po jego inicjalizacji i tylko wtedy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1598">gronoarona</a> — 6 sty 2015, o 18:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Federerer]]></name></author>
<updated>2015-01-06T18:42:10+01:00</updated>
<published>2015-01-06T18:42:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112786#p112786</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112786#p112786"/>
<title type="html"><![CDATA[Re: STM32F103 EXIT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112786#p112786"><![CDATA[
Masz gdzieś kod odpalający przerwanie? Coś w ten deseń, tylko z twoją nazwą przerwania:<br />[syntax=c]NVIC_SetPriority(EXTI4_15_IRQn, 0);<br />NVIC_EnableIRQ(EXTI4_15_IRQn);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4440">Federerer</a> — 6 sty 2015, o 18:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gronoarona]]></name></author>
<updated>2015-01-06T18:33:14+01:00</updated>
<published>2015-01-06T18:33:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112783#p112783</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112783#p112783"/>
<title type="html"><![CDATA[STM32F103 EXIT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10080&amp;p=112783#p112783"><![CDATA[
Witam <br />Mam taki problem: używam modułu enc28j60 i działa świetnie poza przerwaniami EXIT a mianowicie nie odbieram nic, pomimo że moduł jest skonfigurowany poprawnie. <br /><br />Wydaje mi się że to wina mojego przerwania EXIT poniżej zamieszczam funkcje prze zemnie napisane i proszę o komentarz czy dobrze to robię. <br />[syntax=c]void exit_init(void)<br />{<br />EXTI-&gt;IMR=EXTI_IMR_MR15; //EVENT mask<br />EXTI-&gt;EMR=EXTI_EMR_MR15; //interrupt mask<br />EXTI-&gt;FTSR=EXTI_FTSR_TR15; //Falling trigger event<br />EXTI-&gt;SWIER=EXTI_SWIER_SWIER15; //Software interrupt on line x<br />}<br /><br />void EXTI15_10_IRQHandler(void)<br />{<br />u32 extiArrives = EXTI-&gt;PR;<br /> EXTI-&gt;PR=extiArrives;<br /><br />if(extiArrives &amp; EXTI_PR_PR15)<br />{<br />receive_ETHERNET_packet();<br />}<br /><br />}[/syntax]<br />ponadto pin jest skonfigurowany jaki wejście pływające.<br /><br />Co Wy na to?<br /><br />Z góry dzięki<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1598">gronoarona</a> — 6 sty 2015, o 18:33</p><hr />
]]></content>
</entry>
</feed>