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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-05-09T17:32:10+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=46&amp;t=7530&amp;mode</id>
<entry>
<author><name><![CDATA[ps19]]></name></author>
<updated>2015-05-09T17:32:10+01:00</updated>
<published>2015-05-09T17:32:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128670#p128670</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128670#p128670"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128670#p128670"><![CDATA[
Jest jeszcze programming manual, czasami się przydaje przy dłubaniu przy przerwaniach (NVIC) i SysTick`u itp<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=230">ps19</a> — 9 maja 2015, o 17:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RafPe]]></name></author>
<updated>2015-05-09T15:36:17+01:00</updated>
<published>2015-05-09T15:36:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128662#p128662</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128662#p128662"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128662#p128662"><![CDATA[
@Nefarious19 - na poczatku to wydaje sie przerazajace - ale jak juz zaczniesz pracowac z STM to pozniej idzie z gorki <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=4344">RafPe</a> — 9 maja 2015, o 15:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nefarious19]]></name></author>
<updated>2015-05-08T10:33:39+01:00</updated>
<published>2015-05-08T10:33:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128562#p128562</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128562#p128562"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128562#p128562"><![CDATA[
Dzięki Reza, będę coś sobie ogarniał, nie mogłem się ogarnąć w gąszczu tych pdf'ów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2500">Nefarious19</a> — 8 maja 2015, o 10:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2015-05-08T09:55:23+01:00</updated>
<published>2015-05-08T09:55:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128561#p128561</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128561#p128561"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128561#p128561"><![CDATA[
Główny dokument to Reference Manual, następnie datasheet procesora (w nim są wszelkie ustawienia który pin może jako co działać itp).<br /><br />Następnie same nagłówki bibliotek np. StdPeriphLibs, gdzie jest ładnie rozpisany każdy rejestr, bit rejestru po nazwach itp.<p>Statystyki: Napisane przez Gość — 8 maja 2015, o 09:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nefarious19]]></name></author>
<updated>2015-05-08T09:46:46+01:00</updated>
<published>2015-05-08T09:46:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128560#p128560</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128560#p128560"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=128560#p128560"><![CDATA[
Sory za wykopaliska ale mam pytanie. Jezeli chodzi o noty ATmela to jest ful bajer bo mamy pod ręką elegancki opis rejestrów, przykłady kodów w C i ASM i wszystko ładnie ułożone.. czy są takie noty do STM/Kinetis? Jak ogarnąć te wszystko żeby pisać sobie na rejestrach tak jak dla 8 bitowców? Z jakich dokumentów głównie korzystać?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2500">Nefarious19</a> — 8 maja 2015, o 09:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2015-01-13T17:50:05+01:00</updated>
<published>2015-01-13T17:50:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113998#p113998</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113998#p113998"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113998#p113998"><![CDATA[
A mistrz mokrowski ma babola w kodzie (chyba) <img src="https://forum.atnel.pl/images/smilies/icon_mrgreen.gif" alt=":mrgreen:" title="Pan Zielony" /> <br /><br />Cytat z RM odnośnie bitów VOS w PWR_CR: &quot;These bits can be modified only when the PLL is OFF.&quot;. Wyłączenie PLL powinno być więc chyba przed modyfikacją VOS <img src="https://forum.atnel.pl/images/smilies/icon_question.gif" alt=":?:" title="Znak zapytania" /> <br /><br />Dla kontrastu wrzucam moją wersję &quot;system_init()&quot;:<br /><br />[syntax=c]static inline __attribute__((always_inline)) void flash_cfg(void){<br /><br />    /* Data cache, instruction cache, prefetch, 5WS (6 cpu cycles) */<br />    FLASH-&gt;ACR = FLASH_ACR_DCRST | FLASH_ACR_ICRST;<br />    FLASH-&gt;ACR = FLASH_ACR_DCEN | FLASH_ACR_ICEN | FLASH_ACR_PRFTEN | FLASH_ACR_LATENCY_5WS;<br /><br />    while((FLASH-&gt;ACR &amp; FLASH_ACR_LATENCY) != FLASH_ACR_LATENCY_5WS){};<br /><br />}<br /><br />static inline __attribute__((always_inline)) void spread_spectrum_init(void){<br /><br />    /* Description in Datasheet. *<br />     * INCSTEP = (32767 * modulation_depth &#91;%&#93; * f_vco &#91;MHz&#93;) / (500 * MODEPER)<br />     * MODEPER = fvco_in &#91;Hz&#93; / (4*f_modulation &#91;Hz&#93;)<br />     *<br />     * For:<br />     * - modulation_depth = 1%<br />     * - f_vco = 336MHz<br />     * - fvco_in = 2MHz<br />     * - f_modulation = 1kHz<br />     * MODEPER = 500<br />     * INCSTEP = 44 */<br /><br />    RCC-&gt;SSCGR = RCC_SSCGR_SSCGEN | (500ul &lt;&lt; 0) | (44ul &lt;&lt; 13);<br /><br />}<br /><br />static inline __attribute__((always_inline)) void rcc_cfg(void) {<br /><br />    RCC-&gt;CR |= RCC_CR_HSEON;<br /><br />    RCC-&gt;PLLCFGR = RCC_PLLCFGR_PLLSRC_HSE | /* HSE(8MHz) */<br />            RCC_PLLCFGR_PLLM_2 | /* HSE(8MHz) /M(4) = fvco_in(2MHz) */<br />            (0xa8ul &lt;&lt; 6) | /* fvco_in(2MHz) *N(168) = fvco(336MHz) */<br />            (0ul &lt;&lt; 16) | /* fvco(336MHz) /P(2) = PLLCLK(168MHz) */<br />            (0x07ul &lt;&lt; 24) | /* fvco(336MHz) /Q(7) = PLL48CK(48MHz) */<br />            (1&lt;&lt;29); /* Reserved bit reset value */<br /><br />    spread_spectrum_init();<br /><br />    while (! (RCC-&gt;CR &amp; RCC_CR_HSERDY) ) {};<br /><br />    RCC-&gt;CR |= RCC_CR_PLLON;<br /><br />    /* APB2 = 168/2 = 84MHz; APB1 = 168/4 = 42MHz */<br />    RCC-&gt;CFGR = RCC_CFGR_PPRE2_DIV2 | RCC_CFGR_PPRE1_DIV4;<br /><br />    flash_cfg();<br /><br />    while (!(RCC-&gt;CR &amp; RCC_CR_PLLRDY)) {};<br /><br />    RCC-&gt;CFGR |= RCC_CFGR_SW_PLL;<br /><br />    while ((RCC-&gt;CFGR &amp; RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL) {};<br /><br />    RCC-&gt;CR &amp;= ~RCC_CR_HSION;<br /><br />}<br /><br />static inline __attribute__((always_inline)) void pwr_cfg(void){<br /><br />    /* IO Compensation Cell. */<br />    RCC-&gt;APB2ENR |= RCC_APB2ENR_SYSCFGEN;<br />    SYSCFG-&gt;CMPCR = SYSCFG_CMPCR_CMP_PD;<br /><br />}<br /><br />static inline __attribute__((always_inline)) void fpu_cfg(void){<br /><br />#if (__FPU_PRESENT==1) &amp;&amp; (__FPU_USED==1)<br />    /* Coprocessor full access. */<br />    SCB-&gt;CPACR = (0x0f &lt;&lt; 20);<br />#endif<br /><br />}<br /><br />void system_init(void){<br /><br />    pwr_cfg();<br />    rcc_cfg();<br />    fpu_cfg();<br />    SysTick_Config(1680000); /* 168MHz * 10ms */<br /><br />}[/syntax]<p>Statystyki: Napisane przez Gość — 13 sty 2015, o 17:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RafPe]]></name></author>
<updated>2015-01-13T14:55:52+01:00</updated>
<published>2015-01-13T14:55:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113990#p113990</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113990#p113990"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113990#p113990"><![CDATA[
Bardzo fajnie. Powoli sie to zaczyna ukladac w jakas bardziej logiczna i zrozumiala dla mnie calosc <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=4344">RafPe</a> — 13 sty 2015, o 14:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RafPe]]></name></author>
<updated>2015-01-13T13:22:06+01:00</updated>
<published>2015-01-13T13:22:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113987#p113987</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113987#p113987"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113987#p113987"><![CDATA[
A ja mam pytanie o biblioteki. Bawiac sie w CoIDE mam cos takiego :<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/4344/7576240eb07416d674b695a4eba1829f.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/4344/7576240eb07416d674b695a4eba1829f.png" alt="Obrazek" /></a><br /><br />Natomiast na internecie wielokrotnie spotykam sie z sytuacja gdzie jest bardzo odchudzony kod i w wiekszosci sa referencje jedynie do : <br />CMSIS<br />    STM32F4xx<br />    STM32F4xx RCC<br />    STM32F4xx GPIO<br /><br />A pozniej w kodzie ladnie <br /><br />[syntax=c]#include &quot;stm32f4xx.h&quot;<br />#include &quot;stm32f4xx_gpio.h&quot;<br />#include &quot;stm32f4xx_rcc.h&quot;[/syntax]<br /><br />I na poczatek jest inicjalizacja: <br /><br />[syntax=c]int main(void) {    <br />    /* Initialize system */<br />    SystemInit();[/syntax]<br /><br />Moje pytanie to czy to jest tak , ze mozna zrobic minimalne includy bibliotek zamiast wszystkich co mam na screenie ? Oraz z tego co wyczytalem mozna samemu napisac funkcje inicjalizujaca ? Tak aby odpowiednio ustawic zrodlo na HSE / skonfigurowac PLL etc ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4344">RafPe</a> — 13 sty 2015, o 13:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2015-01-13T09:25:10+01:00</updated>
<published>2015-01-13T09:25:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113969#p113969</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113969#p113969"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113969#p113969"><![CDATA[
Na początek najnowszy CMSIS, nie ma co się buldoczyć, czy końbinować.<br /><br />Na początku i tak trzeba zapoznać sprzęt, architekturę, możliwości. <br /><br />Można oczywiście rzeźbić od zera, ewentualnie można wykorzystywać biblioteki z CoIDE, Keil itd. zależnie od używanego środowiska/procesora.<br /><br />Sam idę dwiema ścieżkami, raz CMSIS, a raz HAL, od zera na początku nie polecam, bo się tylko człowiek zniechęci.<br />By ogarnąć zasoby ARMa na poziomie bitowym trzeba znać procesor na wylot.<p>Statystyki: Napisane przez Gość — 13 sty 2015, o 09:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Pilarek]]></name></author>
<updated>2015-01-12T23:29:05+01:00</updated>
<published>2015-01-12T23:29:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113957#p113957</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113957#p113957"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=113957#p113957"><![CDATA[
Mały refresh. Z bólem dotarłem do końca strony (pełno kłótni) i pragnę zadać dokładnie to samo pytanie co kolega. Od czego zacząć? Ponieważ biblioteka SPL jest wątpliwej jakości jak mówicie, a nie chciałbym takowej używać, to proszę podać o nazwę biblioteki, z której NALEŻAŁOBY skorzystać. W końcu z jakichś bibliotek musicie korzystać, bo nie wyobrażam sobie odwoływania się do jakiegoś rejestru manualnie wpisując jej adres i rzutując ją na odpowiedni typ.<br /><br />Może nie wiem aż tyle nt. uC i ich programowania, ale sporo programuję innego typu historie i zasada jest taka: najpierw piszemy tak, żeby było czytelnie ładnie i miło a optymalizacja jest na końcu. Oczywiście rozumiem, że aplikacje czasu rzeczywistego zachowują się zupełnie inaczej, ale to nie jest powód, żeby każdy program pisać przez pryzmat największej wydajności.<br /><br />Nie chodzi tylko o wygodę programisty przy takim podejściu, ale o pieniądze... czas kosztuje, a korzystanie z bibliotek czas skraca. Poza tym... prototypowanie? Chyba o wiele lepiej w takim przypadku naskrobać na brudno coś, żeby się przekonać czy to w ogóle będzie działać mniej więcej zgodnie z oczekiwaniami, a potem przepisać aplikację w lepszy sposób (nie wiem jak w embedded, ale normalnie jest to powszechna praktyka).<br /><br />Na pewno chciałbym z jakiejś biblioteki korzystać (choćby taka jak avr-libc dla AVR), bo uważam, że wpisywanie 0000 i 1111 na &quot;pałkę&quot; w kodzie jest ekstremalnie nieczytelnie, nawet jeśli w komentarzu jest opisane co i jak jak w kodzie powyżej to zamiast pisania tyyyle kodu komentarzy wolałbym się zdecydować na jakieś enumy i napisanie jakiegoś inline'a do generowania odpowiedniej liczby na podstawie nr bitu(zajmie mniej czasu niż komentarz + mogę ponownie wykorzystać + nie zaciemnia funkcji). Już o mieszaniu kodu C i asm bez konieczności (z powodu widzimisię programisty) nie wspomnę, ale to moje zdanie. Trzeba pamiętać, że kod poza napisaniem, trzeba utrzymać! A stare dobre czasy, o których koledzy mówią minęły i trzeba dostosowywać się do panujących trendów. AGAIN to tylko moja opinia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1520">Pilarek</a> — 12 sty 2015, o 23:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2014-07-03T17:52:20+01:00</updated>
<published>2014-07-03T17:52:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86559#p86559</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86559#p86559"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86559#p86559"><![CDATA[
Sam ostatnio próbuję zapoznać się z M0+ na początek, dwu producentów Freescale i STM, z racji posiadanych zestawów.<br />I powoli zaczynam wgryzać się w temat. I nie ma to jak poczytać sobie i zrozumieć Reference Manual, z wszystkimi tymi rejestrami i za co dany bit odpowiada. Co prawda nie napisałem jeszcze ani linijki zaawansowanego kodu bardziej niż miganie ledem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />. Tylko że czy to STL, cmsis, czy dłubanie od zera ni jak się ma do tego, że przy każdej metodzie - jak to ładnie na czacie kolega określił - wymaga od uczącego się ( Y )godzin, czyli po prostu czytać, czytać, czytać. Nawet na STLu trzeba poznać ich strukturę i w jaki sposób to działa.<p>Statystyki: Napisane przez Gość — 3 lip 2014, o 17:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2014-07-03T17:08:07+01:00</updated>
<published>2014-07-03T17:08:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86557#p86557</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86557#p86557"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86557#p86557"><![CDATA[
<div class="quotetitle">Jado napisał(a):</div><div class="quotecontent"><br />BTW: Kto pamięta konkursy demosceny - 1k, kiedy trzeba było zrobić najbardziej zoptymalizowany, z największą ilością efektów graficznych program-demko, którego kod musiał się zmieścić w wymaganym 1kB danych?<br /></div><br /><br />Nawet nie wspominaj ... <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  ale gdyby nie specjalne cranchery pisane pod określone demo było by ciężko w demach 1 /4K  ech stare dobre czasy ..<br /><br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Sam pamiętam, że zaczynając przygodę z procesorami STM32, mimo woli interesując się tematem, przeczytałem o wadach SPL na jednym z forów poświęconych mikrokontrolerom - i świadomie - zrezygnowałem z jej używania (chociaż zakupione wtedy książki o STM32 straciły sporo ze swej wartości przez to)<br />Teraz Wy musicie podjąć własne decyzje<br /></div><br /><br />niema co się wypinać .... większość narzekania wynika z niewiedzy niechęci zapoznania się z kodem SPL , ale to nie jest dysputa na temat wyższości świąt panowie ... każdy używa jak chce i czego chce ...  a wszystkie zamieszanie wynikło po wypowiedzi &quot;specjalisty&quot;, który notabene nic nie miał w temacie do powiedzeni i do niego nic nie wniósł dlatego.  Niemniej warto poznać procesor i możliwości różne od  każdej strony <br />obecnie wiele się zmieniło,  i już nie trzeba się kopać w asm by być cool - dostępność rozwiązań jest ogromna i stale się rozwija , elektronika tanieje , a producenci ścigają się by ugryźć kawałek kończącego się tortu ......  dynamika rozwoju technologi działa na korzyść  amatorów / hobbystów , a programowanie  nie jest zarezerwowane dla wybranych .... wszystko można zrobić prosto czy to na SPL czy HAL czy tez bez - ale trzeba to robić z głową ....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 3 lip 2014, o 17:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jado]]></name></author>
<updated>2014-07-03T15:01:26+01:00</updated>
<published>2014-07-03T15:01:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86549#p86549</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86549#p86549"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86549#p86549"><![CDATA[
Nie mówię o nie korzystaniu z bibliotek w ogóle - sam od czasu do czasu z nich korzystam - ale o SPL. <br />Sam producent porzucił je na rzecz nowszych - (jak podejrzewam bardziej zoptymalizowanych i napisanych lepiej) rozwiązań - po co się więc ich kurczowo trzymać? <br /><br />Pisanie kodu w sposób zoptymalizowany nie koniecznie oznacza pisania ich w ASM - ja sam pisząc programy na procesory 32-bitowe przestałem używać assemblera, bo wystarcza mi C (no może poza jakimiś pojedynczymi instrukcjami).<br /><br />Sam pamiętam, że zaczynając przygodę z procesorami STM32, mimo woli interesując się tematem, przeczytałem o wadach SPL na jednym z forów poświęconych mikrokontrolerom - i świadomie - zrezygnowałem z jej używania (chociaż zakupione wtedy książki o STM32 straciły sporo ze swej wartości przez to)<br />Teraz Wy musicie podjąć własne decyzje  <img src="https://forum.atnel.pl/images/smilies/icon_mrgreen.gif" alt=":mrgreen:" title="Pan Zielony" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=852">Jado</a> — 3 lip 2014, o 15:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atlantis]]></name></author>
<updated>2014-07-03T14:10:25+01:00</updated>
<published>2014-07-03T14:10:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86545#p86545</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86545#p86545"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86545#p86545"><![CDATA[
<div class="quotetitle">Jado napisał(a):</div><div class="quotecontent"><br />IMHO, zwiększone zasoby sprzętowe współczesnych mikrokontrolerów powinny zostać wykorzystane na tworzenie nowych jakościowo aplikacji/urządzeń - nowe funkcjonalności o których było nie do pomyślenia przy procesorach poprzednich generacji np. rozpoznawanie/generacja mowy, multitasking, przetwarzanie obrazów, itp....Zamiast maskować błędy programistów.<br /></div><br /><br />Można znaleźć rozsądny kompromis pomiędzy jednym i drugim, zresztą nikt nie mówi o maskowaniu błędów programistów... Jednak jaki będzie pożytek z idealnego programu napisanego w assemblerze, wykorzystującego w 100% zasoby sprzętowe, jeśli tylko kilku programistów będzie w stanie go zrozumieć? Jaki sens ma tworzenie biblioteki, której obsługi trzeba się uczyć prawie tak długo, jak programowania w nowym języku? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Prawda jest taka, że nie nauczymy wszystkim pracy niskopoziomowej. Nie każdy ma ambicję znaleźć się w wąskiej grupie najbardziej wybitnych programistów. Niektórzy po prostu chcą wziąć do ręki Arduino/Raspberry Pi/mikrokontroler na samodzielnie wykonanej płytce i stworzyć coś ciekawego (ja właśnie należę do tej grupy). Jeśli im powiesz, że powinni najpierw poświęcić mnóstwo czasu na wkuwanie nazw rejestrów i oznaczeń bitów, to z całą pewnością zniechęcić większość z nich. Czas na wyższą szkołę jazdy jeszcze przyjdzie. <br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Natomiast walka o 'czas procesora' wciąż jest jak najbardziej na miejscu - wciąż mamy do czynienia  z urządzeniami czasu rzeczywistego i nie można sobie pozwolić na utratę danych z powodu &quot;nie wyrobienia się procesora&quot; - wskutek mało zoptymalizowanego pisania programów.<br /></div><br /><br />Nie wszystkie projekty należą do tej grupy.<br /><br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Większe moce obliczeniowe procesorów nie mogą być przyzwoleniem dla niechlujstwa programistycznego.<br /></div><br /><br />Nie mówimy o niechlujstwie. Mówimy o wykorzystywaniu narzędzia (biblioteki), które ułatwia pracę kosztem nieco gorszej optymalizacji.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2174">Atlantis</a> — 3 lip 2014, o 14:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jado]]></name></author>
<updated>2014-07-03T13:01:31+01:00</updated>
<published>2014-07-03T13:01:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86541#p86541</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86541#p86541"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86541#p86541"><![CDATA[
<div class="quotetitle">Atlantis napisał(a):</div><div class="quotecontent"><br />Poza tym prawo Moore'a robi swoje. Mamy dostęp do coraz większej mocy obliczeniowej za coraz mniejszą cenę. Dlaczego niby te zasoby nie miałyby zostać wykorzystane do ułatwienia pracy programisty? Równie dobrze można by przecież kazać komuś programować Raspberry Pi bez OS-u i bibliotek, odwołując się bezpośrednio do rejestrów. Jaka by to była oszczędność zasobów...<br /></div><br />IMHO, zwiększone zasoby sprzętowe współczesnych mikrokontrolerów powinny zostać wykorzystane na tworzenie nowych jakościowo aplikacji/urządzeń - nowe funkcjonalności o których było nie do pomyślenia przy procesorach poprzednich generacji np. rozpoznawanie/generacja mowy, multitasking, przetwarzanie obrazów, itp....Zamiast maskować błędy programistów. <br /><br />Mogę się zgodzić z tym, że dzisiaj mniej można się przejmować zajętością pamięci programu, bo nastąpiło jej znaczące powiększenie - wielkości rzędu 512kB nie są niczym nadzwyczajnym, a i tak rzadko kiedy się je czystym kodem (pomijamy tu np. tablice sampli) zapełnia. Więc walka o każdy bajt FLASH'a (czy nawet RAM'u) nie ma już takiego znaczenia jak kiedyś.<br /><br />Natomiast walka o 'czas procesora' wciąż jest jak najbardziej na miejscu - wciąż mamy do czynienia  z urządzeniami czasu rzeczywistego i nie można sobie pozwolić na utratę danych z powodu &quot;nie wyrobienia się procesora&quot; - wskutek mało zoptymalizowanego pisania programów. <br />Większe moce obliczeniowe procesorów nie mogą być przyzwoleniem dla niechlujstwa programistycznego.<br />W każdym razie - ja - dla samego siebie - tak uważam.<br />Może świat idzie teraz w innym kierunku.<br /><br />BTW: Kto pamięta konkursy demosceny - 1k, kiedy trzeba było zrobić najbardziej zoptymalizowany, z największą ilością efektów graficznych program-demko, którego kod musiał się zmieścić w wymaganym 1kB danych? <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=852">Jado</a> — 3 lip 2014, o 13:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atlantis]]></name></author>
<updated>2014-07-02T08:11:49+01:00</updated>
<published>2014-07-02T08:11:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86450#p86450</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86450#p86450"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86450#p86450"><![CDATA[
<div class="quotetitle">PJS napisał(a):</div><div class="quotecontent"><br />Ale prawda jest taka, że jeżeli jest ci wygodnie to korzystaj z bibliotek STM-a.<br /></div><br /><br />Ja też nie rozumiem tego podejścia. Gdy zaczynałem uczyć się AVR-ów, też od paru osób zdążyłem usłyszeć, że podstawą jest opanowanie assemblera. Samo programowanie w C miało nie wystarczyć. Co prawda ciągle jeszcze się uczę, ale zdążyłem zrealizować kilka projektów i <strong>ani razu</strong> nie odczułem potrzeby sięgnięcia po język niskiego poziomu. Mam wręcz wrażenie, że ucząc się go &quot;na siłę&quot; straciłbym tylko czas, bo teraz planuję przyjrzeć się bliżej PIC-om i STM32.<br />Oczywiście, jeśli kiedyś pojawi się taka konieczność, zapoznam się z asm odpowiedniej rodziny MCU. Podkreślam jednak słowo &quot;jeśli&quot;.<br /><br />Poza tym prawo Moore'a robi swoje. Mamy dostęp do coraz większej mocy obliczeniowej za coraz mniejszą cenę. Dlaczego niby te zasoby nie miałyby zostać wykorzystane do ułatwienia pracy programisty? Równie dobrze można by przecież kazać komuś programować Raspberry Pi bez OS-u i bibliotek, odwołując się bezpośrednio do rejestrów. Jaka by to była oszczędność zasobów...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2174">Atlantis</a> — 2 lip 2014, o 08:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rogal.150]]></name></author>
<updated>2014-07-02T07:24:11+01:00</updated>
<published>2014-07-02T07:24:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86448#p86448</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86448#p86448"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86448#p86448"><![CDATA[
dosyć rzadko piszę ale coś skrobnę.<br /><br />-te 2 podane książki niestety nie poruszają ważnych tematów, generalnie przetłumaczenie z ang-&gt;pol not producenta, przykłady też nie są wygórowane, ale jak możesz je wypożyczyć za darmo warto przeczytać wiadomo w ojczystym języku łatwiej przyswaja się wiedzę. <br />-racja arm-y to nie takie hop siup, nie widzę sensu pchania się od razu w f4 są rodziny f0 RM(referece manual ma ok 600 stron napisany jest bardziej przystępnie) w rodzinie f0 jest mniej rejestrów filozofia generalnie taka sama jak w f4 tak że przesiadka nie stawowi praktycznie żadnych problemów <br />-co do SPL i Cube na początku się z tego śmiałem, ale mam projekt na BLE 4 i procesorze SoC gdzie komunikacja ze stosem wykonywana jest tylko przez uzupełnianie struktur i przekazywanie ich do stosu, generalnie taka sama filozofia jak w SPL , i nie ma innej możliwości bo nie ma dostępu do stosu. Proponuje nie skreślać SPL, można korzystać ale mądrze do SPL jest też dokumentacja co ciekawe nikt o niej nie mówi, generalnie piszę na rejestrach ponieważ projekt jest lżejszy np. w małych f0 ma to znaczenie żeby na starcie nie tracić połowy pamięci, ale dosyć często zaglądam do żródeł SPL jak niektóre rzeczy są zrealizowane.<br />-jeżeli zaczniesz pisać na rejestrach to pamiętaj o komentarzach pisz sobie stronę w RM i obszernie je opisuj, po pewnym czasie będziesz już wszystko pamiętał ale na początku jest to trochę skomplikowane <br />-co do środowiska na początek CooCox moim zdaniem bardzo dobre darmowe IDE stosunek cena/jakość nie do przebicia wszystko działa nic nie trzeba konfigurować działa jest rozwijany duża różnica między wersjami idzie ku lepszemu, równolegle polecam Keila ale to już jest narzędzie nieporównywalnie lepsze prędzej czy później każdy się przesiada a jak jeszcze się nie przesiadł do 99% to zrobi, nie będę pisał plusów bo nie ma sensu jedyna wada to cena ale co się dziwić to jest maszynka do robienia kasy.<br /><br />uff.. koniec jak kogoś obraziłem to trudno, napisałem swoje zdanie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1237">rogal.150</a> — 2 lip 2014, o 07:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[toch88]]></name></author>
<updated>2014-06-29T16:08:38+01:00</updated>
<published>2014-06-29T16:08:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86079#p86079</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86079#p86079"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=86079#p86079"><![CDATA[
Tutaj jest to dobrze opisane <a href="http://www.hitex.com/fileadmin/pdf/insiders-guides/stm32/isg-stm32-v18d-scr.pdf"  class="postlink">http://www.hitex.com/fileadmin/pdf/insiders-guides/stm32/isg-stm32-v18d-scr.pdf</a><br />oraz tutaj <a href="https://www.google.com/url?sa=t&amp;source=web&amp;rct=j&amp;ei=OiuwU4WlDujlsASm64Bg&amp;url=http://en.radzio.dxp.pl/stm32vldiscovery/&amp;cd=1&amp;ved=0CBwQFjAA&amp;usg=AFQjCNHlT_366Gtc8lQZU30K3ESo7CiTtw&amp;sig2=9H3BLDBaO9ATzokwcT36EA"  class="postlink">https://www.google.com/url?sa=t&amp;source=web&amp;rct=j&amp;ei=OiuwU4WlDujlsASm64Bg&amp;url=http://en.radzio.dxp.pl/stm32vldiscovery/&amp;cd=1&amp;ved=0CBwQFjAA&amp;usg=AFQjCNHlT_366Gtc8lQZU30K3ESo7CiTtw&amp;sig2=9H3BLDBaO9ATzokwcT36EA</a> niestety nie jestem w stanie zweryfikowac tej drugiej strony czy dziala ew mam ja w wersji off line jak bd ww polsce to moge sie podzielic<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1138">toch88</a> — 29 cze 2014, o 16:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jado]]></name></author>
<updated>2014-06-26T21:01:30+01:00</updated>
<published>2014-06-26T21:01:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85838#p85838</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85838#p85838"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85838#p85838"><![CDATA[
Zdaje się, że powyższa dyskusja a propos SPL już staje się powoli nieaktualna.  <br />Teraz trendy jest STM32Cube i HAL <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><br />A to cytat z pdf'a od Cube'a:<br />&quot;The STM32Cube HAL Layer is the replacement of the Standard Peripheral Library.<br />The HAL APIs offer a higher abstraction level compared to the standard peripheral APIs.<br />HAL focuses on peripheral common functionalities rather than hardware. The higher<br />abstraction level allows to define a set of user friendly APIs that can be easily ported from<br />one product to another.<br />Customers currently using Standard Peripheral Libraries will be helped through Migration<br />guides. Existing Standard Peripheral Libraries will be supported, but not recommended for<br />new designs.&quot;<br /><br />Dotychczasowa literatura o STM chyba pójdzie na przemiał (bo cała opiera się o SPL). <br />Qrcze - jak to szybko wszystko się zmienia...pamiętam, że książke Parpockiego kupowałem w 2011 roku jako absolutną nowość...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=852">Jado</a> — 26 cze 2014, o 21:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2014-06-23T15:31:15+01:00</updated>
<published>2014-06-23T15:31:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85492#p85492</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85492#p85492"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85492#p85492"><![CDATA[
I tu się zgadzam z kol. Jado ... <br />Kwestia w sporna z SPL dla STM32 , ale głównie zauważyłem że psioczą na nie osoby które nie umieją z nich korzystać.<br />Dużo piszę na STM32 uważam je za lepsze od LPC np ...bo miałem możliwość bezpośredniego porównania aplikacji <br />pracującej na Cortexie-M3  zarówno LPC jak i STM32.  Często przy prostych aplikacjach sięgam po SPL ale często tez ryje<br />w asm .. , który jest  dla ARM trochę nie ludzki ... ale jak mus to mus.  <br /><br />Oczywiście wiadomo że te libsy nie są idealne, ale osoba obeznana .. szybko wyłowi co jej potrzeba, a nie będzie piac jakie to do d...<br /><br />Obecnie się wiele zmienia w podejściu do stm32 , za sprawą mikro.framewora  czy CMSIS ... <br />ale z punktu widzenia początkującego na tą chwilę szybki start z SPL będzie wygodny ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 23 cze 2014, o 15:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jado]]></name></author>
<updated>2014-06-22T21:16:17+01:00</updated>
<published>2014-06-22T21:16:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85403#p85403</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85403#p85403"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85403#p85403"><![CDATA[
Tutaj jest ciekawa wypowiedź jednej z osób początkowo używającej SPL: &quot;Osobiście także używam do ustawienia mikrokontrolera tylko rejestrów, bo całkowicie nie rozumiałem tej biblioteki, które i w jakiej kolejności funkcje mam wywoływać. Wszystko było fajnie jak się korzystało z książki Paprockiego, ale gdy chciałem przetwornik ADC ustawić według swojej potrzeby to nie ogarniałem jak do tego dojść przy użyciu SPL. &quot;<br />Tak więc różne bywają przypadki - a wyjście poza książkę czasami może nie być takie łatwe <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /> Pisanie &quot;po rejestrach&quot; jest uniwersalne dla wszystkich procków, SPL jest tylko dla STM'ow.<br /><br />Pytanie : &quot;co nas bardziej kręci&quot; <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=852">Jado</a> — 22 cze 2014, o 21:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2014-06-22T20:48:38+01:00</updated>
<published>2014-06-22T20:48:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85397#p85397</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85397#p85397"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85397#p85397"><![CDATA[
Nie jest trudna jak wiesz jak to robić.<br />Nic nie jest trudne jak już wiesz, albo przynajmniej masz podstawy.<br />Tylko właśnie pokażcie mi jedną chociaż książkę, która by wprowadzała w świat programowania ARMów nie na STLu.<p>Statystyki: Napisane przez Gość — 22 cze 2014, o 20:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[blink3000]]></name></author>
<updated>2014-06-22T20:31:27+01:00</updated>
<published>2014-06-22T20:31:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85394#p85394</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85394#p85394"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85394#p85394"><![CDATA[
Ja myślę że kolega MXST4 ma dobre intencje i jeśli ma doświdczenie w temacie to chce dobrze nakierować,<br />po to aby jak już się uczyć to poprawnie, bo na pewno się to kiedyś zemści. <br />A przykład kolegi  Jado jest właśnie pokazaniem tego że wcale konfiguracja bezpośrednia rejestrów<br />nie jest trudna.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1524">blink3000</a> — 22 cze 2014, o 20:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2014-06-22T14:26:35+01:00</updated>
<published>2014-06-22T14:26:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85371#p85371</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85371#p85371"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85371#p85371"><![CDATA[
<div class="quotetitle">Jado napisał(a):</div><div class="quotecontent"><br />Da się?<br /></div><br /><br />Wszystko się da .... wystarczy konkretny przykład prawda <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  <br />i to możemy nazwać pomocą <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  w odróżnieniu od tego co nam tu pisał kol MXST4 <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />teraz autor ma wybór ... sam zdecyduje na początek wystarczy mu std_l  potem wyjdzie poza nie jak bedzie potrzebował <br /><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=58">SunRiver</a> — 22 cze 2014, o 14:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jado]]></name></author>
<updated>2014-06-22T14:02:36+01:00</updated>
<published>2014-06-22T14:02:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85369#p85369</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85369#p85369"/>
<title type="html"><![CDATA[Re: STM32F4 - od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7530&amp;p=85369#p85369"><![CDATA[
Pisanie bez SPL nie jest wcale trudne - w 8-bitowcach pisało się bez żadnych SPL'i i &quot;dało się&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" />  <br />Po prostu trzeba sprawdzić w datasheecie co który bit oznacza i odp. go ustawić - w/g potrzeby.<br />Taki mały przykład - inicjalizacja SPI1 dla STMF4:<br />[syntax=c]//=========================================<br />void SPI1_Init(void)     // inicjalizacja ukladu SPI1<br />//--------------------------------------------------------------------------<br />{<br />//=========================================<br />    RCC_APB2ENR_SPI1EN_bb = 1;   // enable clock for SPI1 module <br /><br />//--------------------------------------------------------------------------<br />//  SPI1 control register 1 <br />//--------------------------------------------------------------------------<br />// 15:8  | BIDIMODE | BIDIOE | CRCEN | CRCNEXT | DFF | RXONLY | SSM | SSI | <br />// 7:0   | LSBFIRST | SPE | BR:2 | 1 | 0 | MSTR | CPOL | CPHA |<br />    SPI1-&gt;CR1 = B16(00000011,00111111); // CPOL/CPHA=1, Master, Fck/256, MSB First<br /><br />//--------------------------------------------------------------------------<br />//  SPI1 control register 2 <br />//--------------------------------------------------------------------------<br />// 15:8  | u | u | u | u | u | u | u | u | <br />// 7:0   | TXEIE | RXNEIE | ERRIE | u | u | SSOE | TXDMAEN | RXDMAEN |<br />    SPI1-&gt;CR2 = B16(00000000,01000000); // RX interrupt enable<br /><br />//--------------------------------------------------------------------------<br />//  SPI1 CRC plynomial register <br />//--------------------------------------------------------------------------<br />// 15:8  | CRCPOLY:15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | <br />// 7:0   | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |<br />    SPI1-&gt;CRCPR = 0x00; // <br /><br />//--------------------------------------------------------------------------<br />//  SPI1 RX CRC register  <br />//--------------------------------------------------------------------------<br />// 15:8  | RXCRC:15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | <br />// 7:0   | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |<br />    SPI1-&gt;RXCRCR = 0x00; //<br /><br />//--------------------------------------------------------------------------<br />//  SPI1 TX CRC register  <br />//--------------------------------------------------------------------------<br />// 15:8  | TXCRC:15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | <br />// 7:0   | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |<br />    SPI1-&gt;TXCRCR = 0x00; //<br /><br />//--------------------------------------------------------------------------<br />//  SPI1 I2S configuration register  <br />//--------------------------------------------------------------------------<br />// 15:8  | u | u | u | u | I2SMOD | I2SE | I2SCFG:1 | 0 | <br />// 7:0   | PCMSYNC | u | I2SSTD:1 | 0 | CKPOL | DATLEN:1 | 0 | CHLEN |<br />// SPI1-&gt;I2SCFGR = B16(00000000,00000000); // <br /><br />//--------------------------------------------------------------------------<br />//  SPI1 I2S prescaler register  <br />//--------------------------------------------------------------------------<br />// 15:8  | u | u | u | u | u | u | MCKOE | ODD | <br />// 7:0   | I2SDIV:7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |<br />// SPI1-&gt;I2SPR = B16(00000000,00000000); // <br /><br />    SPI1-&gt;CR1 |= SPI_CR1_SPE; //enable pheripheral<br /><br />//--------------------------------------------------------------------------<br />// configure SPI1 interrupts<br />//--------------------------------------------------------------------------<br />    NVIC_SetPriority(SPI1_IRQn,NVIC_EncodePriority(2, 2, 6)); //ustawienie priorytetu dla tego przerwania<br />    NVIC_EnableIRQ(SPI1_IRQn); // wlaczenie przerwania w NVIC   <br />}[/syntax]<br />Dla ułatwienia użyłem w niektórych miejscach dostępnego w internecie makra B16(), żeby można było wygodnie ustawić sobie poszczególne bity rejestrów.<br />W komentarzach mam dodatkowo podane nazwy bitów na odp. im pozycjach - żeby nie trzeba było ciągle zaglądać do manuala.<br />Ale to już kwestia własnych przyzwyczajeń.<br /><br />Da się? <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=852">Jado</a> — 22 cze 2014, o 14:02</p><hr />
]]></content>
</entry>
</feed>