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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-12-14T00:00:43+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=46&amp;t=9664&amp;mode</id>
<entry>
<author><name><![CDATA[Surion]]></name></author>
<updated>2014-12-14T00:00:43+01:00</updated>
<published>2014-12-14T00:00:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108574#p108574</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108574#p108574"/>
<title type="html"><![CDATA[Re: Discovery VL - zapalanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108574#p108574"><![CDATA[
Z tym taktowaniem też mi było dziwne, bo żadna biblioteka nie włączała zegara i nikt w mruganiu diodą nie pisał takiego kodu.<br /><br />Faktycznie. Drugi i szósty bit każdego bajtu jest ustawiony na 1 (01000100). Nawyki z AVR, gdzie chyba wszystkie są ustawiane na 0 po resecie.<br />Teraz będę na to zwracał większą uwagę.<br />Co do OR'a to zapytam jakiegoś doktora na uczelni jak to jest, bo sam ciekawy jestem.<br /><br /><br />No i, ha! Działa! Wielkie dzięki. <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=4844">Surion</a> — 14 gru 2014, o 00:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2014-12-13T20:55:14+01:00</updated>
<published>2014-12-13T20:55:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108551#p108551</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108551#p108551"/>
<title type="html"><![CDATA[Re: Discovery VL - zapalanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108551#p108551"><![CDATA[
MAM (chyba)! ;d<br /><br />1. zegarów nie musisz zmieniać - po resecie SYSCLK jest brany z HSI więc taktowanie będzie<br />2. ustawianie bitu RCC_CFGR_SWS_HSI jest w ogóle bez sensu - cytat z ref. manuala: &quot;Set and cleared by hardware...&quot; - to tylko flaga <br />3. RCC_CFGR_SW_HSI - jest ustawiony domyślnie po resecie, więc też nie trzeba zmieniać<br /><br />4. OR w BSRR robi różnicę - do &quot;orowania&quot; rejestr musi zostać odczytany, a BSRR jest &quot;write only&quot; - w sumie nie wiem jaki efekt da czytanie rejestru &quot;tylko do zapisu&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ale dla św. spokoju bym tego unikał<br /><br />5. meritum - nie działa, bo ustawiasz pin w tryb Open-Drain a nie Push-Pull: błąd jest w &quot;bezpiecznym ustawianiu rejestrów&quot; - sprawdź w reference manualu jaką wartość ma CRL i CRH po resecie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez Gość — 13 gru 2014, o 20:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Surion]]></name></author>
<updated>2014-12-13T15:26:21+01:00</updated>
<published>2014-12-13T15:26:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108515#p108515</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108515#p108515"/>
<title type="html"><![CDATA[Re: Discovery VL - zapalanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108515#p108515"><![CDATA[
@PJS - Chodzi o coś takiego?<br />[syntax=c]RCC-&gt;CFGR|=RCC_CFGR_SW_HSI | //HSI selected as system clock<br />                  RCC_CFGR_SWS_HSI; //HSI oscillator used as system clock[/syntax]<br />Z tym próbowałem i nic.<br /><br />@wwojtek - OR nic nie zmieni. Bezpieczna wersja wpisywania do rejestrów. Zmiana na = nic nie zmieniła, ale faktycznie masz rację, że wystarczy przyrównać.<br /><br />@SunRiver - Strona jest w moich zakładkach. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Przeglądałem wszystkie wpisy dotyczące GPIO, ale używasz nakładek do RCC, GPIO i samego Discovery, a ja na początek chciałbym grzebać na samych rejestrach przy wykorzystaniu jedynie <em>stm32f10x.h</em>, czyli na takim najniższym poziomie. Z gotowców typu LEDon, LEDInit korzystałem z pozytywnym rezultatem, ale nie daje mi to satysfakcji, że zrobiłem to sam. Coś jak z Arduino za którym nie przepadam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4844">Surion</a> — 13 gru 2014, o 15:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2014-12-13T14:53:21+01:00</updated>
<published>2014-12-13T14:53:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108508#p108508</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108508#p108508"/>
<title type="html"><![CDATA[Re: Discovery VL - zapalanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108508#p108508"><![CDATA[
Nie wiem czy akurat to jest przyczyną, ale ta operacja:<br />[syntax=c]GPIOC-&gt;BSRR |= (1&lt;&lt;9);[/syntax]jest bez sensu ;) Rejestr BSRR jest &quot;write only&quot;. Powinno być:<br />[syntax=c]GPIOC-&gt;BSRR = (1&lt;&lt;9);[/syntax]Wpisanie jedynki na danej pozycji rejestru BSRR ustawia/kasuje odpowiedni bit w rejestrze ODR. Zera można wpisywać do woli - nic nie zmieniają - dzięki temu BSRR pozwala na atomowe machanie nóżkami mikrokontrolera.<p>Statystyki: Napisane przez Gość — 13 gru 2014, o 14:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PJS]]></name></author>
<updated>2014-12-13T14:44:53+01:00</updated>
<published>2014-12-13T14:44:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108505#p108505</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108505#p108505"/>
<title type="html"><![CDATA[Re: Discovery VL - zapalanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108505#p108505"><![CDATA[
A skonfigurowałeś zegary dla całego procka?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1614">PJS</a> — 13 gru 2014, o 14:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2014-12-13T14:04:32+01:00</updated>
<published>2014-12-13T14:04:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108493#p108493</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108493#p108493"/>
<title type="html"><![CDATA[Re: Discovery VL - zapalanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108493#p108493"><![CDATA[
<!-- m --><a class="postlink" href="http://www.sunduino.pl/wordpress/kurs-programowania-stm32-vl-discovery/" >http://www.sunduino.pl/wordpress/kurs-p ... discovery/</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 13 gru 2014, o 14:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Surion]]></name></author>
<updated>2014-12-13T13:07:20+01:00</updated>
<published>2014-12-13T13:07:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108482#p108482</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108482#p108482"/>
<title type="html"><![CDATA[Discovery VL - zapalanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9664&amp;p=108482#p108482"><![CDATA[
Witajcie.<br /><br />Od jakiegoś czasu męczę się z zapaleniem wbudowanej diody LD3 podłączonej do pinu PC9. Na schemacie można zobaczyć, że katoda do masy, więc należy podać stan wysoki na pin.<br />Chcę ją zapalić korzystając jedynie z biblioteki procesora, bez nakładek do GPIO i RCC, aby dowiedzieć się jak wszystko działa, ale poległem. Próbowałem analizować działanie gotowych bibliotek, a nawet kod asemblera, aby wiedzieć co gdzie i ile jest wpisywane, ale także nic.<br /><br />Oto mój kod:<br />[syntax=c]RCC-&gt;APB2ENR |= (1&lt;&lt;4); //RCC_APB2ENR_IOPCEN   GPIOC PCLK Enable<br />GPIOC-&gt;CRH |= (1&lt;&lt;4);  //GPIO_CRH_MODE9_0 | Konfiguracja 0001  00-push-pull | 01 - 10MHz<br />GPIOC-&gt;BSRR |= (1&lt;&lt;9);<br />while(1);[/syntax]<br /><br />Podłączam zegar do Portu C wpisując &quot;1&quot; na czwarty bit rejestru APB2ENR. W kolejnej linijce modyfikuję funkcje pinu 9.: CNF 00 - push-pull, MODE 01 - taktowanie 10MHz. Na koniec na Pin 9. podaję &quot;1&quot;. Dioda mimo to nie zapala się. O czym zapomniałem?<br />Próbowałem też włączać zegary w rejestrze CR (HISION i HSI) - także nic.<br /><br />Proszę o radę. <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=4844">Surion</a> — 13 gru 2014, o 13:07</p><hr />
]]></content>
</entry>
</feed>