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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-05-29T16:54:44+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=26&amp;t=18503&amp;mode</id>
<entry>
<author><name><![CDATA[RideorDie]]></name></author>
<updated>2017-05-29T16:53:52+01:00</updated>
<published>2017-05-29T16:53:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18503&amp;p=189943#p189943</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18503&amp;p=189943#p189943"/>
<title type="html"><![CDATA[Re: Pomoc w wytłumaczeniu prostego kodu Assembler ARM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18503&amp;p=189943#p189943"><![CDATA[
Sory już mi się myli, bo mam część kodów na zajęciach w Assemblerze a część w C. Ten jest w C.<br /><br />Nie chcę żeby ktoś mi cokolwiek pisał, proszę tylko o wytłumaczenie kodu. Jak ktoś to ogarnia to proszę o kontakt. Dzięki<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7568">RideorDie</a> — 29 maja 2017, o 16:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kanc1erz]]></name></author>
<updated>2017-05-29T08:20:50+01:00</updated>
<published>2017-05-29T08:20:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18503&amp;p=189925#p189925</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18503&amp;p=189925#p189925"/>
<title type="html"><![CDATA[Re: Pomoc w wytłumaczeniu prostego kodu Assembler ARM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18503&amp;p=189925#p189925"><![CDATA[
No tak, to wygląda na C. Może autor chce, by ktoś mu napisał odpowiadający kod w asm?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1536">Kanc1erz</a> — 29 maja 2017, o 08:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2017-05-29T06:43:21+01:00</updated>
<published>2017-05-29T06:43:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18503&amp;p=189923#p189923</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18503&amp;p=189923#p189923"/>
<title type="html"><![CDATA[Re: Pomoc w wytłumaczeniu prostego kodu Assembler ARM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18503&amp;p=189923#p189923"><![CDATA[
Ale dlaczego assembler?<br />Wydaje mi się, że to assembler nie jest...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 29 maja 2017, o 06:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RideorDie]]></name></author>
<updated>2017-05-29T16:54:44+01:00</updated>
<published>2017-05-28T23:07:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18503&amp;p=189920#p189920</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18503&amp;p=189920#p189920"/>
<title type="html"><![CDATA[Pomoc w wytłumaczeniu prostego kodu C / Assembler ARM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18503&amp;p=189920#p189920"><![CDATA[
Szukam kogoś kto odpowie mi na pytania odnośnie kodów podobnych do tego który wstawiam. Generalnie chodzi o opisanie jak działają timery na podstawie prostych i krótkich programów.<br /><br />Zainteresowanych proszę o wiadomość na PW.<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent"><br />void main(void){ <br />   <br />   clock_config();<br />   <br />   GLCD_Initialize();  //GLCD to wyswietlacz<br />   <br />   <br />  RCC-&gt;AHB1ENR |= ((1&lt;&lt;0) | (1&lt;&lt;6));             // wlacz zegar dla GPIO A i G<br />   <br />   //TIMER krok 1.<br />   <br />   RCC-&gt;APB1ENR |= (1&lt;&lt;0);                              // wlacz zegar dla TIM2<br />   <br />   <br />  GPIOG-&gt;MODER |= (1&lt;&lt;(2*13)) | (1&lt;&lt;(2*14));  // linie G13 i G14 jako wyjscia<br />   GPIOA-&gt;MODER |= (2&lt;&lt;2*0);                              // linia A0 - ALTERNATE FUNCTION AF1 TIM2 CH1<br />   GPIOA-&gt;AFR&#91;0&#93; |= (1&lt;&lt;4*0);<br />      <br />      <br />      //Adding an interrupt involves configuring the NVIC (Nested Vectored Interrupt Controller).<br />      //different flags are used to trigger and clear an interrupt<br />      <br />   NVIC-&gt;ISER&#91;0&#93; |= ((1&lt;&lt;28));                         // wlacz przerwanie dla TIM2 //enable interrupts<br />   <br />   //zlicza do góry od 0 do wpisanej wartosci dlatego jest 7999 a nie 8000<br />   //prescaler - dzelnik zegara wejsciowego<br />   <br />   // 16-bitowy rejestr umozliwiajacy podzielenie czestotliwosci taktowania licznika przez wartosc od 1 do 65536<br /><br />   <br />   TIM2-&gt;PSC   = 7999;                                          // preskaler TIM2 = wpisana wartosc+1<br />   //TIM2-&gt;ARR = 65535;                                    // wykorzystaj pelna pojemnosc licznika /// moze zliczac w takim zakresie<br />   <br />   TIM2-&gt;CCMR1 |= 1;                                        // CC1S = 01 - Capture Compare ch. 1 jako wejscie, linia T1<br />   <br />   TIM2-&gt;SMCR |= 5&lt;&lt;4 | 4;                                 // bity SMS=100 - Slave Reset Mode<br />                                                                     // bity TS =101 - Trigger Selection - Timer Input 1<br />                                                                     <br />   TIM2-&gt;CCER |= ((0&lt;&lt;3) | (0&lt;&lt;1) | (1&lt;&lt;0));      // reakcja na zbocze rosnace                     <br />                                                                     // CC1E=1 - Capture Enabled, ch. 1   <br />                                                                     <br />   TIM2-&gt;DIER |= (1&lt;&lt;1);                                    // CC1IE - wlacz przerwanie dla Capture ch. 1<br />  TIM2-&gt;CR1 |= 1;                                             // wlacz licznik<br /><br /><br /><br />//cos do wyswietlacza<br />   GLCD_Clear(White);<br />   GLCD_SetBackColor(White);<br />  GLCD_SetTextColor(Black);<br />// ==   <br />   <br /><br />   licznik=0;<br />   pomiar=0;<br />   <br />   for(;;) {<br />         if (pomiar) GLCD_DisplayString(1, 0, __FI,&quot;Pomiar!             &quot;);<br />         else {<br />            sprintf(tekst,&quot;Licznik :D = %u&quot;,licznik);<br />            GLCD_DisplayString(1, 0, __FI,tekst);<br />         }<br />   }<br />} <br /> <br />//obsluga przerwania<br />void TIM2_IRQHandler(void) <br />{<br />      licznik=TIM2-&gt;CCR1;<br />      GPIOG-&gt;ODR ^=(1&lt;&lt;13);                              //rejestr danych wychodzacych<br />      TIM2-&gt;CCER ^=  (1&lt;&lt;1);                           //zmien reakcje na zbocze rosnace&lt;-&gt;opadajace<br />      pomiar = ~pomiar;      <br />}<br /><br />void clock_config(void)<br />{<br />   //wybor oscylatora<br />   RCC-&gt;CR &amp;= ~(1&lt;&lt;0); //HSI OFF<br />   RCC-&gt;CR |=  (1&lt;&lt;16); //HSE ON<br />   while (!(RCC-&gt;CR &amp; 1&lt;&lt;17)); //czekaj az sie HSE ustabilizuje<br />   <br />   //konfiguracja PLL: fout = (fin/M)*(N/P)<br />   RCC-&gt;PLLCFGR &amp;= 0xF0BC0000; //zostaw tylko bity reserved, reszta 0<br />   RCC-&gt;PLLCFGR |= 8;       //M (2-63)<br />   RCC-&gt;PLLCFGR |= 256&lt;&lt;6;   //N   (192-432) Mhz<br />   RCC-&gt;PLLCFGR |= 0&lt;&lt;16; //P 0=/2 1=/4 2=/6 3=/8 //indeks ktory odpowiada dzielnikowi<br />   //RCC-&gt;PLLCFGR |= 2&lt;&lt;24; //Q (2-15) USB SDIO random number generator<br />   RCC-&gt;PLLCFGR |= 1&lt;&lt;22; //wejscie PLL 1=HSE, 0=HSI<br />   <br />   RCC-&gt;CR |= 1&lt;&lt;24; // 1 - PLL ON, 0 - PLL OFF<br />   while   (!(RCC-&gt;CR &amp; 1&lt;&lt;25)); //czekaj az PLL sie zatrzasine<br />   <br />   RCC-&gt;CFGR |= 2;  //0 - HSI, 1 - HSE, 2 - PLL jako SYSCLK<br />   RCC-&gt;CFGR   |= 8&lt;&lt;4;   //AHB PRESCALER 8 - /2, 9 - /4 ,10 - /8 ...<br />   RCC-&gt;CFGR   |= 7&lt;&lt;10;   //APB1 PRESCALER LOW SPEED 4 - /2, 5- /4, 6 - /8, 7 - /16 <br />   RCC-&gt;CFGR   |= 0&lt;&lt;13;   //APB2 PRESCALER HI SPEED   <br /><br />}<br /><br /></div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7568">RideorDie</a> — 28 maja 2017, o 23:07</p><hr />
]]></content>
</entry>
</feed>