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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-02-05T22:06:19+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=46&amp;t=14405&amp;mode</id>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2016-02-05T22:06:19+01:00</updated>
<published>2016-02-05T22:06:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152841#p152841</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152841#p152841"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152841#p152841"><![CDATA[
No dobra, ustawione, taktowanie mam tak jak chciałem 100MHz.<br />[syntax=c]void RCC_Init(void)<br />{<br />    RCC-&gt;CR |= RCC_CR_HSION;<br />    RCC-&gt;CFGR = 0x00000000; //reset CFGR<br /><br />    RCC-&gt;CR &amp;= (uint32_t)0xFEF6FFFF; //reset hseon,csson i pllon<br /><br />    RCC-&gt;PLLCFGR = 0x24003010;//reset CFGR<br />    RCC-&gt;CR |= RCC_CR_HSEON; //| RCC_CR_HSEBYP; //HSEBYP musi byc ustawione dla plyty discovery!/sprawdzic<br /><br />    RCC-&gt;CR &amp;=  ~(RCC_CR_PLLON);<br />    RCC-&gt;PLLCFGR |= (RCC_PLLCFGR_PLLM_2); // /8<br />    RCC-&gt;PLLCFGR &amp;= ~(RCC_PLLCFGR_PLLM_4);<br />    RCC-&gt;PLLCFGR &amp;= ~(RCC_PLLCFGR_PLLM_0);<br />    RCC-&gt;PLLCFGR |= RCC_PLLCFGR_PLLN_3 | RCC_PLLCFGR_PLLN_6 | RCC_PLLCFGR_PLLN_7;// x200<br />    RCC-&gt;PLLCFGR &amp;= ~RCC_PLLCFGR_PLLP_1;<br />    RCC-&gt;PLLCFGR |= RCC_PLLCFGR_PLLP_0; //4<br />    RCC-&gt;PLLCFGR |= RCC_PLLSource_HSE;<br />    while (!(RCC-&gt;CR &amp; RCC_CR_HSERDY)); //sprawdzam gotowosc hse<br />    RCC-&gt;CR |= RCC_CR_PLLON; //wlaczam pll<br />    RCC-&gt;CFGR = RCC_CFGR_PPRE1_DIV4 | RCC_CFGR_PPRE2_DIV2; //prescalery dla APB1 i APB2<br />    FLASH-&gt;ACR = FLASH_ACR_DCRST | FLASH_ACR_ICRST;//wlaczanie flash<br />    FLASH-&gt;ACR = FLASH_ACR_DCEN | FLASH_ACR_ICEN | FLASH_ACR_PRFTEN | FLASH_ACR_LATENCY_5WS; //ustawienie flash wedle Number of wait states according to CPU clock (HCLK) frequency<br />    while ((FLASH-&gt;ACR &amp; FLASH_ACR_LATENCY) != FLASH_ACR_LATENCY_5WS); //odczytywanie nowej wartosci dla pewnosci<br />    while (!(RCC-&gt;CR &amp; RCC_CR_PLLRDY)); //czy pll gotowy<br />    RCC-&gt;CFGR |= RCC_CFGR_SW_PLL; //zrodlo sysclk na pll z hsi<br />    while ((RCC-&gt;CFGR &amp; RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL); //czekam na zakonczenie wlaczenia pll jako zrodla sysclk<br />    RCC-&gt;CR &amp;= ~RCC_CR_HSION;//wylaczam hsi<br /><br />    RCC-&gt;CFGR &amp;= ~RCC_CFGR_HPRE_3;<br />}[/syntax]<br />Dzięki wszystkim za zainteresowanie tematem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 5 lut 2016, o 22:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2016-02-05T19:28:43+01:00</updated>
<published>2016-02-05T19:28:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152830#p152830</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152830#p152830"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152830#p152830"><![CDATA[
Dzięki, zobaczę potem, porównam i dam znać  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 8 minutach ]</span></strong><br /><br />Nie wytrzymałem, od razu sprawdziłem i nie widzę niczego co mógłbym pominąć bądź zrobić nie tak jak trzeba.<br /><br />Teraz jeszcze przed ustawieniem bitów zresetowałem ustawienia. Bity ustawiają się znacznie przyjemniej <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />tylko jeszcze nie osiągnąłem tego co chcę, Dam znać jak się uda i pokażę cały kod.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 5 lut 2016, o 19:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Juffre]]></name></author>
<updated>2016-02-05T19:29:42+01:00</updated>
<published>2016-02-05T19:27:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152829#p152829</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152829#p152829"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152829#p152829"><![CDATA[
Tutaj masz mój kod dla F407:<br />[syntax=c]void RCC_init(void)<br />{<br />/* 168&#91;MHz&#93; RCC CONFIG */<br />RCC-&gt;CR |= RCC_CR_HSEON;// enable HSE <br /><br />RCC-&gt;PLLCFGR = RCC_PLLCFGR_PLLQ_2 | RCC_PLLCFGR_PLLQ_1 | RCC_PLLCFGR_PLLQ_0// Q division factor == 7 frequency == 48&#91;MHz&#93;<br /> | RCC_PLLCFGR_PLLSRC_HSE// HSE as PLL source<br /> | RCC_PLLCFGR_PLLN_8 | RCC_PLLCFGR_PLLN_6 | RCC_PLLCFGR_PLLN_4 // PLL multiplier == 336<br /> | RCC_PLLCFGR_PLLM_3;// HSE divider == 8<br /><br />RCC-&gt;CFGR = RCC_CFGR_HPRE_0// AHB frequency == 168&#91;MHz&#93;<br />| RCC_CFGR_PPRE1_DIV4// APB1 frequency == 42&#91;MHz&#93;<br />| RCC_CFGR_PPRE2_DIV2;// APB2 frequency == 84&#91;MHz&#93;<br /><br />while( !(RCC-&gt;CR &amp; RCC_CR_HSERDY) ) {}// HSE stable<br /><br />RCC-&gt;CR |= RCC_CR_PLLON;// enable PLL<br /><br />while( !(RCC-&gt;CR &amp; RCC_CR_PLLRDY) ) {}// PLL lock<br /><br />FLASH-&gt;ACR = FLASH_ACR_ICEN |FLASH_ACR_DCEN |FLASH_ACR_LATENCY_5WS;// set FLASH latency<br /><br />RCC-&gt;CFGR |= RCC_CFGR_SW_PLL;// select PLL as SYSCLOCK source<br /><br />while( !(RCC-&gt;CFGR &amp; RCC_CFGR_SWS_PLL) ) {}// wait for stabilization<br /><br />}[/syntax]<br />Kod ustawia prędkość rdzenia na 168[MHz] co jest max. częśtotliwością dla F407.<br /><br />Może zbyt wcześnie włączasz PLL - ale to strzał.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=473">Juffre</a> — 5 lut 2016, o 19:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2016-02-05T18:38:36+01:00</updated>
<published>2016-02-05T18:38:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152826#p152826</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152826#p152826"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152826#p152826"><![CDATA[
Tak, uwzględniłem wszystko o czym napisałeś <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Potem jeszcze raz posprawdzam i zobaczę czy coś uda się ruszyć <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Edit:<br />Był mały błąd, jednak wciąż nie wyłącza mi się PLL - a jak pll się nie wyłącza to nie mogę oczywiście skonfigurować mnożników.<br />Może akurat ktoś jest na bieżąco i coś drobnego zauważy.<br />[syntax=c]RCC-&gt;CR |= RCC_CR_HSEON; //I tu male pytanko - Czy dla Discovery powinienem włączyć RCC_CR_HSE_BYP? <br />    RCC-&gt;CR &amp;= ~ (RCC_CR_PLLON); //tu wyłączam PLL - jednak się i tak nie wylącza<br />    RCC-&gt;PLLCFGR |= (RCC_PLLCFGR_PLLM_3); // /8<br />    RCC-&gt;PLLCFGR &amp;= ~(RCC_PLLCFGR_PLLM_4);<br />    RCC-&gt;PLLCFGR &amp;= ~(RCC_PLLCFGR_PLLM_0);<br />    RCC-&gt;PLLCFGR |= RCC_PLLCFGR_PLLN_3 | RCC_PLLCFGR_PLLN_6 | RCC_PLLCFGR_PLLN_7;// x200<br />    RCC-&gt;PLLCFGR &amp;= ~RCC_PLLCFGR_PLLP_1;<br />    RCC-&gt;PLLCFGR |= RCC_PLLCFGR_PLLP_0; //4<br />    RCC-&gt;PLLCFGR |= RCC_PLLSource_HSE;<br />    while (!(RCC-&gt;CR &amp; RCC_CR_HSERDY)); //sprawdzam gotowosc hse<br />    RCC-&gt;CR |= RCC_CR_PLLON; //wlaczam pll<br />    RCC-&gt;CFGR = RCC_CFGR_PPRE1_DIV4 | RCC_CFGR_PPRE2_DIV2; //prescalery dla APB1 i APB2<br />    FLASH-&gt;ACR = FLASH_ACR_DCRST | FLASH_ACR_ICRST;//wlaczanie flash<br />    FLASH-&gt;ACR = FLASH_ACR_DCEN | FLASH_ACR_ICEN | FLASH_ACR_PRFTEN | FLASH_ACR_LATENCY_5WS; <br />    while ((FLASH-&gt;ACR &amp; FLASH_ACR_LATENCY) != FLASH_ACR_LATENCY_5WS); //odczytywanie nowej wartosci dla pewnosci<br />    while (!(RCC-&gt;CR &amp; RCC_CR_PLLRDY)); //czy pll gotowy<br />    RCC-&gt;CFGR |= RCC_CFGR_SW_PLL; //zrodlo sysclk na pll z hsi<br />    while ((RCC-&gt;CFGR &amp; RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL); //czekam na zakonczenie wlaczenia pll jako zrodla sysclk<br />    RCC-&gt;CR &amp;= ~RCC_CR_HSION;//wylaczam hsi[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 5 lut 2016, o 18:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Juffre]]></name></author>
<updated>2016-02-05T17:08:36+01:00</updated>
<published>2016-02-05T17:08:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152819#p152819</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152819#p152819"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152819#p152819"><![CDATA[
Musisz ustawić flash latency, spójrz na rejstr FLASH-&gt;ACR.<br />Pamiętaj, że po włączeniu PLL trzeba odczekać pewien czas zanim pętla się ustabilizuje. W praktyce oznacza to czekanie aż ustawi się bit w jednym z rejestrów. Bit nazywa się jakoś tak: RCC_CR_PLLRDY<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=473">Juffre</a> — 5 lut 2016, o 17:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2016-02-05T13:44:03+01:00</updated>
<published>2016-02-05T13:44:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152805#p152805</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152805#p152805"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152805#p152805"><![CDATA[
Juffre, bardzo przydatna funkcja <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Dzięki <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 41 minutach ]</span></strong><br /><br />squeez, ustawiałeś już PLL'a z tym poradnikiem w tym dłuuuugim pdfem? xD<br />systick śmiga, teraz próbuję zamieszać trochę z taktowaniem, coś pozmieniać PLLem. Bardzo ciekawe cacko <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />Ciekawe ale wkurzające jak nie działa xD<br />Wydawałoby się że ustawiam wszystko właściwie ale niestety rejestry od PLLa nie ustawiają mi się wcale. <br />Oczywiście staram się ustawiać gdy PLL jest wyłączony, ale niestety się nie wyłącza. <br />Może przypadkiem ktoś jakiś pomysł ma?^^<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 5 lut 2016, o 13:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Juffre]]></name></author>
<updated>2016-02-05T12:53:06+01:00</updated>
<published>2016-02-05T12:53:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152795#p152795</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152795#p152795"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152795#p152795"><![CDATA[
Najważniejsze żeby IDE działało i dało się z niego klepać kod <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />Funkcja SystemCoreClockUpdate() odczytuje jak programista ustawił częstotliwość pracy rdzenia a następnie przypisuje ją zmiennej SystemCoreClock. W ten sposób można sobie sprawdzić czy faktycznie dobrze ustawiliśmy taktowanie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=473">Juffre</a> — 5 lut 2016, o 12:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Juffre]]></name></author>
<updated>2016-02-05T09:20:44+01:00</updated>
<published>2016-02-05T09:20:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152755#p152755</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152755#p152755"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152755#p152755"><![CDATA[
Na początki z STM32 dobry jest keil. Co prawda ma ograniczenie kodu do 32kB ale na początek wystarczy. Zaś jego zaletą jest to że wszystko działa od strzała, nie trzeba nic kombinować. <br />Odpaliłem sobie Eclipse dla pracy z ARM ale stabilność pozostawiała wiele do życzenia.<br /><br />Szybie ustawienie SysTicka na zadaną częstotliwość:<br />[syntax=c]#define FREQUENCY 1000  /* czestotliwosc przerwania w Hz */<br /><br />// to dajesz w funckji main<br />SystemCoreClockUpdate();<br />SysTick_Config(SystemCoreClock/FREQUENCY);<br /><br /><br />// no i przerwanie<br />void SysTick_Handler(void)<br />{<br />/* rób coś z zadaną częstotliwością */<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=473">Juffre</a> — 5 lut 2016, o 09:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krafin]]></name></author>
<updated>2016-02-05T02:17:52+01:00</updated>
<published>2016-02-05T02:17:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152744#p152744</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152744#p152744"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152744#p152744"><![CDATA[
Ja korzystam i bardzo polecam TrueStudio. Szybki konfigurator, z automatu includuje wszystko co potrzebne, no i najważniejsze - działa właśnie na Eclipsie do którego też jestem przywiązany. Instalujemy, odpalamy i gotowe bez zagłębiania się w szczegóły. Po za tym obsługuje dużo innych rodzin uC co szczególnie doceniam gdy czasami działam jednocześnie na Stm oraz Lpc<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=487">krafin</a> — 5 lut 2016, o 02:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2016-02-05T01:34:47+01:00</updated>
<published>2016-02-05T01:34:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152743#p152743</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152743#p152743"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152743#p152743"><![CDATA[
Co do eclipse - bardzo lubię to środowisko ze względu na to że pracowałem na nim z AVR (głównie ze względu ze Pan Mirek wszystko krok po kroku pokazywał)<br />Niestety miewałem różne problemy. czasem działało miesiać potem się wysypywało bez żadnego powodu i wszystko od nowa - cała konfiguracja. W ARM postanowiłem odejśc od eclipse i postawić na coś nowego - mile zaskoczony tym embitzem żadnej konfiguracji - pierwsze uruchomienie i wszystko działa. Jedyne co to nie umiałem uruchomić debuggera - ale to nie wina środowiska tylko po prostu tego, ze nigdy tego nie robiłem ^^<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 5 lut 2016, o 01:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2016-02-05T01:23:03+01:00</updated>
<published>2016-02-05T01:23:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152741#p152741</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152741#p152741"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152741#p152741"><![CDATA[
Ja korzystam z EmBitz w wersji 0.42. Ktoś kiedyś skrytykował nie pamiętam o co chodziło - mi działa bez zarzutów, szybko się odnalazłem w tym interface i fajny, jasny debugger.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 5 lut 2016, o 01:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krafin]]></name></author>
<updated>2016-02-05T01:07:09+01:00</updated>
<published>2016-02-05T01:07:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152739#p152739</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152739#p152739"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152739#p152739"><![CDATA[
Ten zapis nie jest do niczego potrzebny. Wystarczy sam void SysTick_Handler(void){}<br />Ale ja zapytam z innej beczki, z jakiego IDE korzystacie bo nie widzę plików z CMSIS a Systick_Config() jest jego częścią. I domyślnie o ile wykorzystujemy CMSIS mamy plik stm32fxxx_it.c w którym to mamy zdefiniowane przerwanie od systicka i wyjątków.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=487">krafin</a> — 5 lut 2016, o 01:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2016-02-05T00:52:50+01:00</updated>
<published>2016-02-05T00:52:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152736#p152736</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152736#p152736"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152736#p152736"><![CDATA[
Fajnie, kumam.<br />Tylko ten zapis. Rzadko widuję i nie bardzo wiem o co chodzi:<br />__attribute__((interrupt)) <br />Dokładniej co za co jest odpowiedzialne?<br />interrupt no nie wiem, wskazuje że funkcja jest przerwaniem (zgaduję) <br />Edit. <br />Sprawdziłem również bez tego zapisu - również działa ^^<br />Ale zawsze ciekawość <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 5 lut 2016, o 00:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2016-02-05T00:12:31+01:00</updated>
<published>2016-02-05T00:12:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152732#p152732</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152732#p152732"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152732#p152732"><![CDATA[
Dużo tego jak na razie ^^<br />Zmęczenie już swoje robi, a chciałbym tego SysTicka zrobić ;d nie poddaję się ^^<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 5 lut 2016, o 00:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krafin]]></name></author>
<updated>2016-02-05T00:03:47+01:00</updated>
<published>2016-02-05T00:03:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152731#p152731</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152731#p152731"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152731#p152731"><![CDATA[
Oczywiście, że nadal trzeba ustawiać odpowiednio delay-e. Popatrz na zakładkę Embedded flash memory interface w RM, a dokładniej na rozdział 3.4 i tabelkę w nim. Potem odwiedź register description <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Ale u ciebie ustawia się zapewne przez funkcję w pliku system_stm32f4.c Popatrz na jego funkcję a sam zobaczysz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=487">krafin</a> — 5 lut 2016, o 00:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2016-02-04T23:52:28+01:00</updated>
<published>2016-02-04T23:52:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152729#p152729</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152729#p152729"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152729#p152729"><![CDATA[
krafin, w stmf4 też jest problem opóźnienia FLASH? bo gdzies widziałem że w F4 zostało to dość ograniczone.<br />Drzewko projektu, nie wiem czy chodzi ci po prostu o to ale pierwsze na myśl wklejam :<br /><a href="https://obrazkiforum.atnel.pl/9183/c4f9eaf86e055d2f5421aa8b03411ab7.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/9183/c4f9eaf86e055d2f5421aa8b03411ab7.png" alt="Obrazek" /></a><br />squeez, widziałem, pobrałem - będzie czytany <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> i co do poprzedniego posta - PM? <br />Edit:<br />PM- Programming manual xd Właśnie w tym dłuuugim pdfie znalazłem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Skroję coś z tym SysTickiem, może uda się ruszyć, tak czy siak wrzucę efekty. Dziś spooooro czasu zajęła mi zabawa z PLLem i ogółem ustawianiem tych zegarów ^^<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 4 lut 2016, o 23:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krafin]]></name></author>
<updated>2016-02-04T23:39:36+01:00</updated>
<published>2016-02-04T23:39:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152726#p152726</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152726#p152726"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152726#p152726"><![CDATA[
Oprócz tego nie czekasz na rozkręcenie PLL, oraz nie włączasz opóźnienia FLASH, oraz nie ustawiasz regulatora napięcia na 1.8V i zapewne leci na 1.2V<br />Po drugie większość IDE samo dodaje pliki z konfiguracją zegarów i ustawianie tego co wyżej opisałem, więc możliwe że samo ci się to ustawia a nawet o tym nie wiesz. Pokaż drzewko projektu.<br /><br />Ale pokłony z mojej strony za to, że jako jeden z nielicznych nie zaczynasz od tej śmiesznej biblioteki SPL, tylko czytasz Reference i sam ustawiasz rejestry. <br />Co do Systicka to ustaw go sobie funkcjami z CMSIS, one akurat są w porządku, a i nie ma sensu bawić się w ustawianie systicka rejestrami. Ale oczywiście można jeżeli tak ci wygodniej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=487">krafin</a> — 4 lut 2016, o 23:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2016-02-04T23:29:45+01:00</updated>
<published>2016-02-04T23:29:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152724#p152724</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152724#p152724"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152724#p152724"><![CDATA[
Sunduino znam, wielokrotnie przeglądałem.<br />jedyne co mnie odstrasza to takie fragmenty:<br />[syntax=c]RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);<br /> <br />  /* Configure PD12, PD13, PD14 and PD15 in output pushpull mode */<br />  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13| GPIO_Pin_14| GPIO_Pin_15;<br />  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;[/syntax]<br /><br />Zdecydowanie wolę:<br />[syntax=c]RCC-&gt;AHB1ENR |= RCC_AHB1ENR_GPIODEN; //uruchomienie GPIOD<br />LED_PORT-&gt;MODER |=  GPIO_MODER_OUT &lt;&lt; (LED_1 &lt;&lt; 1)//jako wyjscie[/syntax]<br />Gdzie konkretne definicje sobie sam piszę z Reference Manual.<br />Ale tak czy siak co do SysTicka podpatrzę <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=9183">Czapek</a> — 4 lut 2016, o 23:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-02-04T22:59:30+01:00</updated>
<published>2016-02-04T22:59:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152722#p152722</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152722#p152722"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152722#p152722"><![CDATA[
Powinno pomóc:<br /><a href="http://www.sunduino.pl/wordpress/start-z-stm32-vl-discovery-systick/"  class="postlink">http://www.sunduino.pl/wordpress/start-z-stm32-vl-discovery-systick/</a><br /><a href="http://www.sunduino.pl/wordpress/start-z-stm32-vl-discovery-systick-2-zmiana-clk/"  class="postlink">http://www.sunduino.pl/wordpress/start-z-stm32-vl-discovery-systick-2-zmiana-clk/</a><br /><a href="http://www.sunduino.pl/wordpress/coide-toglujemy-porty-na-discovery-f4/"  class="postlink">http://www.sunduino.pl/wordpress/coide-toglujemy-porty-na-discovery-f4/</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 4 lut 2016, o 22:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2016-02-04T22:25:35+01:00</updated>
<published>2016-02-04T22:25:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152710#p152710</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152710#p152710"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152710#p152710"><![CDATA[
Systick'a? ^^<br />Gdzieś widziałem ale co do czego ;d poszukam ^^<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 4 lut 2016, o 22:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Juffre]]></name></author>
<updated>2016-02-04T22:11:11+01:00</updated>
<published>2016-02-04T22:11:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152709#p152709</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152709#p152709"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152709#p152709"><![CDATA[
W ten sposób nigdy właściwie nie obliczysz delay'a. Jeden obieg pętli nie równa się jednemu cyklowi zegara. Użyj SysTicka'a <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=473">Juffre</a> — 4 lut 2016, o 22:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2016-02-04T21:47:07+01:00</updated>
<published>2016-02-04T21:47:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152700#p152700</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152700#p152700"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152700#p152700"><![CDATA[
No i wiem że mogę sobie użyć CubeMX i zrobić gotowy projekt <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Chcę tylko nauczyć się całości od podstaw, dlatego pytam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 4 lut 2016, o 21:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2016-02-04T20:46:48+01:00</updated>
<published>2016-02-04T20:46:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152678#p152678</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152678#p152678"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152678#p152678"><![CDATA[
Funkcja działa jednak nie uzyskuję odpowiedniego czasu opóźnienia.<br />Gdy wpisuje w delay 100 mln co powinno odpowiadać 1sekundzie przy 100MHz otrzymuję potężne opóźnienie.<br />Przy delay około 1.500.00 - 1.650.00 mam zmianę stanu diody co około 1 sek.<br /><br />Wychodzi na to ze albo coś nie tak z HSE albo jest coś jeszcze o czym po prostu nie wiem <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 4 lut 2016, o 20:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PJS]]></name></author>
<updated>2016-02-04T20:15:28+01:00</updated>
<published>2016-02-04T20:15:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152668#p152668</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152668#p152668"/>
<title type="html"><![CDATA[Re: STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152668#p152668"><![CDATA[
Nie wiem jaki masz efekt w tym programie, ale podejrzewam, że kompilator optymalizuje ci funkcję delay() jako nic nierobiącą, czyli zbędną. Zatem ją usuwa. Spróbuj w tej funkcji dorzucić coś, albo w opcjach kompilatora wyłącz optymalizację (choć w tym przypadku nawet brak optymalizacji kompilacji nie musi zadziałać).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1614">PJS</a> — 4 lut 2016, o 20:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2016-02-04T19:06:09+01:00</updated>
<published>2016-02-04T19:06:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152650#p152650</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152650#p152650"/>
<title type="html"><![CDATA[STM32F411 - początki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14405&amp;p=152650#p152650"><![CDATA[
Witam wszystkich!<br />udało mi się dorwać STM32F411 i powoli zaczynam się nią bawić.<br />Dużo różnic między STM32 a AVR i pierwsze problemy pojawiają się zwłaszcza na początku... <br />Wnikliwie czytam Reference Manual i ustawiam każdy bit po bicie. Tak jest mi łatwiej, lepiej rozumiem to co napisałem i wiem ze zawsze znajdę info o tym w reference <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Zacząłem od zabawy diodą, potem przejdę do timerów itd a następnie zamieszonej na płycie scalaków.<br />Chciałbym zapytać o to co moze być powodem rozbieżności między tym co chcę ustawić a tym co uzyskuję. <br />Otóż próbuję wycisnąć maksymalne taktowanie 100 MHz i zapalać sobie diodę co około 1 sek.<br />Rozumiem, zę takie rzeczy robi się na timerach ale czy na prostym delay'u nie powinienem uzyskać mniej więcej tego samego?<br /><br />Poniżej kod:<br />[syntax=c]void delay(int32_t opoznienie);<br />void zegar(void);<br /><br />int main(void)<br />{<br />    zegar();<br />    led_inicjalizacja();<br />    while(1)<br />    {<br />        led_toggle(LED_1);<br />        led_toggle(LED_2);<br />        led_toggle(LED_3);<br />        led_toggle(LED_4);<br />        delay(100000000);<br />    }<br />}<br />void zegar(void)<br />{<br />    RCC-&gt;CFGR &amp;= ~(RCC_CFGR_SW);//zeruje sw<br />    RCC-&gt;CFGR |= RCC_CFGR_SW_HSE;//hse jako glowny zegar<br /><br />    RCC-&gt;CR &amp;= ~RCC_CR_PLLON;//wylacz PLL zeby ustawic dzielniki mnozniki PLL<br /><br />    RCC-&gt;PLLCFGR |= RCC_PLLCFGR_PLLM_2;//ustawiam PLLM /4<br />    RCC-&gt;PLLCFGR |= RCC_PLLCFGR_PLLN_3 | RCC_PLLCFGR_PLLN_6 | RCC_PLLCFGR_PLLN_7; //ustawiam PLLN x200<br />    RCC-&gt;PLLCFGR |= RCC_PLLCFGR_PLLP_0;//ustawiam PLLP /4<br /><br />    RCC-&gt;CR |= RCC_CR_PLLON;//wlacz PLL<br /><br />    RCC-&gt;CFGR &amp;= ~(RCC_CFGR_SW);//zeruje sw<br /><br />    RCC-&gt;CFGR |= RCC_CFGR_SW_PLL; //pll jako zegar systemowy<br /><br />RCC-&gt;CFGR |= RCC_CFGR_HPRE_DIV1; // prescaler AHB 1<br />}<br />void delay(int32_t opoznienie)<br />{<br />    int i;<br />    for(i=0;i&lt;opoznienie;i++);<br />}[/syntax]<br /><br />Pozdrawiam! <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=9183">Czapek</a> — 4 lut 2016, o 19:06</p><hr />
]]></content>
</entry>
</feed>