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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-03-01T10:23:03+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=46&amp;t=20334&amp;mode</id>
<entry>
<author><name><![CDATA[robertomic]]></name></author>
<updated>2018-03-01T10:23:03+01:00</updated>
<published>2018-03-01T10:23:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204759#p204759</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204759#p204759"/>
<title type="html"><![CDATA[Re: STM32 i ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204759#p204759"><![CDATA[
a wystarczy do dokumentacji zajrzeć a nie tam do jakiegoś hala , i tym podobnych durnych poradników<br /><br /><strong><span style="font-size: 140%; line-height: normal">Regular Mode</span></strong><br /><em>Tryb skanowania wybiera się, ustawiając bit SCAN w rejestrze ADC_CR1.<br />Po ustawieniu tego bitu ADC skanuje wszystkie kanały wybrane w rejestrach <br />ADC_SQRx (dla zwykłych kanałów) lub w rejestrze ADC_JSQR (dla kanałów wstrzykiwanych).<br /><br />Pojedyncza konwersja jest przeprowadzana dla każdego kanału grupy. <br />Po każdym zakończeniu konwersji następny kanał w grupie jest automatycznie konwertowany. Jeśli ustawiony jest bit CONT, <br />regularna konwersja kanałów nie kończy się na ostatnim wybranym kanale w grupie, <br />ale jest kontynuowana od pierwszego wybranego kanału.<br /><br />Jeśli bit DMA jest ustawiony, kontroler bezpośredniego dostępu do pamięci (DMA) jest używany do <br />przesyłania danych przekształconych ze zwykłej grupy kanałów (przechowywanych w rejestrze ADC_DR) <br />do SRAM po każdej regularnej konwersji kanału.<br /><br />Bit <strong><span style="font-size: 120%; line-height: normal">EOC </span></strong>jest ustawiony w rejestrze ADC_SR:<br />- Na końcu każdej regularnej sekwencji grup, jeśli bit EOCS jest wyczyszczony do 0<br />- Pod koniec każdej regularnej konwersji kanałów, jeśli bit EOCS jest ustawiony na 1<br /><br />Dane skonwertowane z wtryskiwanego kanału są zawsze przechowywane w rejestrze ADC_JDRx</em><br /><br /><strong><span style="font-size: 140%; line-height: normal">Discontinuous mode</span></strong><br /><em>Ten tryb można włączyć, ustawiając bit DISCEN w rejestrze ADC_CR1. <br />Można go użyć do konwersji krótkiej sekwencji n konwersji (n ≤ 8), <br />która jest częścią sekwencji konwersji wybranych w rejestrach ADC_SQRx.<br />Wartość n jest określona poprzez zapis na bitach DISCNUM [2: 0] w rejestrze ADC_CR1.<br /><br />Po wystąpieniu zewnętrznego  wyzwalacza rozpoczyna (n) następnych  <br />konwersji wybranych w rejestrach ADC_SQRx, dopóki nie zostaną wykonane wszystkie konwersje w sekwencji.<br />Całkowita długość sekwencji jest określona przez bity L [3: 0] w rejestrze ADC_SQR1.</em><br /><br /><strong><span style="font-size: 140%; line-height: normal">Data Mangament &amp; DMA</span></strong><br /><em>Ponieważ przekonwertowane regularne wartości kanałów są przechowywane w unikalnym rejestrze danych, <br />przydatne jest użycie DMA do konwersji więcej niż jednego zwykłego kanału.<br /><br />Pozwala to uniknąć utraty danych już zapisanych w rejestrze ADC_DR.<br /><br />Gdy tryb DMA jest włączony (bit DMA ustawiony na 1 w rejestrze ADC_CR2), <br />po każdej konwersji standardowego kanału generowane jest żądanie DMA. <br />Umożliwia to przeniesienie skonwertowanych danych z rejestru ADC_DR do docelowej <br />lokalizacji wybranej przez oprogramowanie.<br /><br />Pomimo tego, jeśli dane zostaną utracone (przekroczenie), bit OVR w rejestrze ADC_SR jest ustawiony i <br />generowane jest przerwanie (jeśli ustawiony jest bit zezwolenia OVRIE). Transfery DMA są następnie wyłączane,<br /> a żądania DMA nie są już akceptowane. <br />W takim przypadku, jeśli zostanie wysłane żądanie DMA, regularna konwersja w toku jest przerywana, <br />a kolejne regularne wyzwalacze są ignorowane. Następnie należy wyczyścić flagę OVR i bit DMAEN w <br />używanym strumieniu DMA oraz ponownie zainicjować zarówno DMA, jak i ADC, <br />aby żądane skonwertowane dane kanału zostały przesłane <br />do właściwej lokalizacji pamięci. <br />Tylko wtedy można wznowić konwersję i transfer danych, włączyć ponownie. <br />W przypadku iniekcji konwersji kanałów nie występują błędy przekroczenia.<br />Gdy OVR = 1 w trybie DMA, żądania DMA są blokowane po przesłaniu ostatnich ważnych danych, co oznacza, <br />że ​​wszystkie dane przesłane do pamięci RAM można uznać za ważne.<br /></em><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13232">robertomic</a> — 1 mar 2018, o 10:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gizmo5418]]></name></author>
<updated>2018-02-28T23:35:02+01:00</updated>
<published>2018-02-28T23:35:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204747#p204747</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204747#p204747"/>
<title type="html"><![CDATA[Re: STM32 i ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204747#p204747"><![CDATA[
Witaj,<br /><br />Kolego wpisz sobie w wyszukiwarce google taką frazę: <strong>poradnik stm32 v1_9 pdf</strong>. Pierwszy wyszukany link przekieruje Cię do odpowiedniego wątku na forum elektrody. Z 4 postu  wątku pobierz sobie dokument pdf o takiej nazwie jaką wpisałeś do wyszukiwarki - waży jakieś 13MB.<br /><br />Od strony 227 masz opis przetwornika ADC, trybów pracy wraz z przykładami. Masz tam opisane przypadki, które Cię interesują. Naprawdę warto go przeczytać.....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1967">gizmo5418</a> — 28 lut 2018, o 23:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xamrex]]></name></author>
<updated>2018-02-28T23:10:14+01:00</updated>
<published>2018-02-28T23:10:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204745#p204745</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204745#p204745"/>
<title type="html"><![CDATA[Re: STM32 i ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204745#p204745"><![CDATA[
Męczę się z tym i męczę.. i ani razu mi się nie udało się (jedyny sposób jaki udało mi się wymyślić, to włączenie i wyłączenie DMA) ale wolałbym jakieś ładniejsze rozwiązanie<br />Chce uruchomić po prostu DMA ale nie w trybie ciągłym. Tylko na żadanie.<br /><br />Dam znać jak się coś uda wymyślić <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=74">xamrex</a> — 28 lut 2018, o 23:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xamrex]]></name></author>
<updated>2018-02-28T21:46:31+01:00</updated>
<published>2018-02-28T21:46:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204729#p204729</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204729#p204729"/>
<title type="html"><![CDATA[Re: STM32 i ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204729#p204729"><![CDATA[
Jak zrobie tak:<br />[syntax=c]HAL_ADC_Start_DMA(&amp;hadc1,wyniki,2);// Rozpoczecie nowej konwersji<br /> HAL_Delay(1000);<br /> HAL_ADC_Stop_DMA(&amp;hadc1);// <br /> HAL_Delay(1000);[/syntax]<br />To działa :&lt;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=74">xamrex</a> — 28 lut 2018, o 21:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xamrex]]></name></author>
<updated>2018-02-28T22:14:20+01:00</updated>
<published>2018-02-28T21:31:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204727#p204727</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204727#p204727"/>
<title type="html"><![CDATA[Re: STM32 i ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204727#p204727"><![CDATA[
dambo dzięki za pomoc <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br />Jeszcze jedno pytanie<br />Gdy ustawię sobie <strong>DMA Continous request na disable</strong><br /><a href="https://obrazkiforum.atnel.pl/74/b427ec7a74d194ba93dd2fdd69728647.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/74/b427ec7a74d194ba93dd2fdd69728647.png" alt="Obrazek" /></a><br /><br />To jak mogę wznowić pomiary?<br /><br />Jeśli w main dam sobie coś takiego:<br />[syntax=c]HAL_ADC_Start_DMA(&amp;hadc1,wyniki,2);// Rozpoczecie nowej konwersji[/syntax]<br />to w tablicy wyniki będę miał wyniki z 2 kanałów. <br />Wszystko OK, <br />ale jak wykonać kolejny pomiar za np. sekundę?<br />Jeśli wykonam coś takiego:<br />[syntax=c]while (1)<br />  {<br />  HAL_ADC_Start_DMA(&amp;hadc1,wyniki,2);// Rozpoczecie nowej konwersji<br />  HAL_Delay(1000);<br />}[/syntax]<br />To wyniki się nie uaktualniają ;(<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=74">xamrex</a> — 28 lut 2018, o 21:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xamrex]]></name></author>
<updated>2018-02-28T19:53:58+01:00</updated>
<published>2018-02-28T19:53:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204718#p204718</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204718#p204718"/>
<title type="html"><![CDATA[STM32 i ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20334&amp;p=204718#p204718"><![CDATA[
Witam mam kilka pytań dotyczących ADC w STM32F429I<br />Przedstawię kilka nurtujących mnie pytań i mam nadzieję na otrzymanie odpowiedzi <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br />W każdym z omawianych przypadków będę korzystał z przerwań.<br /><br />Czy jeśli tak ustawię ADC:<br /><strong>1.End of Conversion Selection  = EOC Flag end of all conversions</strong><br />(rozumiem, to tak, że program osbłuży przerwanie dopiero jak pomierzy napięcia z wszystkich kanałów)? dobrze to rozumiem?<br /><br /><a href="https://obrazkiforum.atnel.pl/74/11ed170230a27417c12aed9e122a24f6.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/74/11ed170230a27417c12aed9e122a24f6.png" alt="Obrazek" /></a><br />To czy jest jakiś sposób, żeby dostać wartości ADC z dwóch kanałów?, albo jeśli jest EOC Flag end of all conversion, to obojętnie jak ustawilibyśmy inne parametry to nie ma możliwości dostania wyników z dwóch różnych kanałów<br /><br /><strong>2.Scan conversion mode = Disable</strong><br /><a href="https://obrazkiforum.atnel.pl/74/689206804fe8a3ee7922d9a2962455a3.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/74/689206804fe8a3ee7922d9a2962455a3.png" alt="Obrazek" /></a><br /><br />Czy jeśli ustawię scan conversion mode na disable, to czy jest jakiś sposób, żeby dostać wyniki z 2 różnych kanałów, albo również jest to niemożliwe?<br />Czytałem ten dokument, ale niewiele to pomogło<br /><!-- m --><a class="postlink" href="http://www.st.com/content/ccc/resource/technical/document/application_note/c4/63/a9/f4/ae/f2/48/5d/CD00258017.pdf/files/CD00258017.pdf/jcr:content/translations/en.CD00258017.pdf" >http://www.st.com/content/ccc/resource/ ... 258017.pdf</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=74">xamrex</a> — 28 lut 2018, o 19:53</p><hr />
]]></content>
</entry>
</feed>