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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-12-02T17:05:37+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=1749&amp;mode</id>
<entry>
<author><name><![CDATA[MrDarkenRahl]]></name></author>
<updated>2012-12-02T17:05:37+01:00</updated>
<published>2012-12-02T17:05:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=19932#p19932</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=19932#p19932"/>
<title type="html"><![CDATA[Re: STM32F0Discovery - liczenie impulsów]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=19932#p19932"><![CDATA[
Na razie ogarnąłem wyświetlanie na LCD 2x16 - na szczęście wszystko działa.<br />Mój kod wygląda tak:<br />[syntax=c]<br />#include &lt;stddef.h&gt;<br />#include &quot;stm32f0xx_rcc.h&quot;<br />#include &quot;lcd_hd44780_lib.h&quot;<br /><br /><br />int main(void)<br />{<br /><br />  lcd_init();<br />  while (1)<br />  {<br />  lcd_locate(0,0);<br />  lcd_str(&quot;pierwsza&quot;);<br />  lcd_locate(0,1);<br />  lcd_str(&quot;druga&quot;);<br />  return 0;<br />}<br />}<br /><br />[/syntax]<br />I teraz nie ogarniam konfiguracji pinu do zliczenia, a<br /><div class="quotetitle">SunRiver napisał(a):</div><div class="quotecontent"><br />Impulsy najlepiej mierzyć przez int w przerwaniu timera  czyli ustalasz czas zliczania i zliczasz impulsy<br /></div><br />niewiele mi mówi. Impulsy +5V chcę podłączyć do np. PA5 i zapisywać do zmiennej $wynik, która będzie wyświetlana w 2 wierszu. Dalej może jakoś mi się uda (założenia z programu w pierwszym poście <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />).<br />Pozdrawiam<br /><br />EDIT<br />Aha - jeżeli mogę prosić to chciałbym jeszcze, aby po kliknięciu przycisku &quot;User&quot; (ten niebieski na płytce) w drugim wierszu wyświetlany był $wynik2 ($wynik2=$wynik/100, czyli jeśli $wynik=2, to $wynik2=0,2). Kiedy klikniemy znowu, ponownie wyświetlany jest $wynik i tak w kółko.<br /><br />EDIT 2<br />Aby sprecyzować - proszę o zmodyfikowanie mojego programu tak, aby wyświetlał na LCD ilość podanych impulsów na wejście PA5 (czyli po prostu wyświetlał zmienną $wynik). Dodatkowo (ale niekoniecznie) to, co w pierwszym edicie <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=636">MrDarkenRahl</a> — 2 gru 2012, o 17:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-11-07T17:36:15+01:00</updated>
<published>2012-11-07T17:36:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18391#p18391</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18391#p18391"/>
<title type="html"><![CDATA[Re: STM32F0Discovery - liczenie impulsów]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18391#p18391"><![CDATA[
tak to wystarczy <br />z uwzględnieniem twojego procesora <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> — 7 lis 2012, o 17:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrDarkenRahl]]></name></author>
<updated>2012-11-07T16:16:29+01:00</updated>
<published>2012-11-07T16:16:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18386#p18386</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18386#p18386"/>
<title type="html"><![CDATA[Re: STM32F0Discovery - liczenie impulsów]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18386#p18386"><![CDATA[
<div class="quotetitle">SunRiver napisał(a):</div><div class="quotecontent"><br />Impulsy najlepiej mierzyć przez int w przerwaniu timera  czyli ustalasz czas zliczania i zliczasz impulsy.<br /></div><br />A czy mógłbyś proszę mi to wyjaśnić (najlepiej jakiś kod bądź pseudokod)<br /><br /><div class="quotetitle">SunRiver napisał(a):</div><div class="quotecontent"><br />W przypadku przerzucenia kodu na STM32F0  W  TrupeStudio wybierz nowy projekt dla F0 i przenieś kod uwzględniając zmiany bibliotek i niektórych funkcji.<br /></div><br />Właśnie nie wiem, co muszę zmienić - wystarczy dopisać biblioteki, zdefiniować wyjścia dla LCD oraz wejście impulsów, a w pętli głównej zliczać impulsy na wejściu, tak?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=636">MrDarkenRahl</a> — 7 lis 2012, o 16:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-11-07T11:46:28+01:00</updated>
<published>2012-11-07T11:46:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18366#p18366</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18366#p18366"/>
<title type="html"><![CDATA[Re: STM32F0Discovery - liczenie impulsów]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18366#p18366"><![CDATA[
No dobra można się za to brać , więc tak  najpierw z edytuje ci posta , bo w znacznikach syntax -c lepiej się kod czyta<br /><br />Impulsy najlepiej mierzyć przez int w przerwaniu timera  czyli ustalasz czas zliczania i zliczasz impulsy , następnie zależnie od potrzebnej ilości <br />wykonujesz proste działanie:<br /><br />Przykład:<br /><br />- potrzebujemy liczyć obroty silnika  w obr/min<br />- posłużymy się czujnikiem optycznym  (transoptor szczelinowy) umieszczonym tak by pasek zapięty na osi silnika <br />   przy każdym pełnym obrocie przechodził przez transoptor   --- w ten sposób uzyskamy 1 impuls na pełny obrót<br />   oczywiście dokładniej możemy liczyć dzieląc obrót osi wirnika na 4 części  -- wtedy mamy 4 impulsy na 1 obrót<br /><br />- wyjście naszego transoptora wpinamy na wejście zliczające wyzwalane stanem wysokim lub niskim zależnie od transoptora<br />- ustalamy przerwanie timera w którym jest dokonywane zliczanie np:<br />  <br />   dla obr/min  pomiaru nie musimy wykonywać przez całą minute <br />   wiedząc że 1 ms = 10-3 s = 1/1 000 s   czyli 1 min = 60000 ms<br />   wiedząc że na 1 obrót mamy 1 impuls <br /><br />   wykonujemy pomiar na ułamkową cześć naszej min np przez 1 sek<br />   czyli przerwanie od timera ustawiamy na 1000ms<br />   <br />   i w tym czasie zliczamy impulsy z naszego transoptora <br />   wynik jaki otrzymamy  to liczba obrotów na 1sek  i należy go sobie przeliczyć na 1min by otrzymać gotowe dane do prezentacji.<br /><br />  tak to wygląda w teorii i w zasadzie też w praktyce jak więc prosiłeś  daje ci tylko nakreślenie tematu <br /><br />  W przypadku przerzucenia kodu na STM32F0  W  TrupeStudio wybierz nowy projekt dla F0 i przenieś kod <br />  uwzględniając zmiany bibliotek i niektórych funkcji.<br />  <br />  W razie czego pisz , jeśli projekt przekracza 32KB  przenieś się na inne środowisko<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 7 lis 2012, o 11:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrDarkenRahl]]></name></author>
<updated>2012-11-06T23:17:28+01:00</updated>
<published>2012-11-06T23:17:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18351#p18351</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18351#p18351"/>
<title type="html"><![CDATA[Re: STM32F0Discovery - liczenie impulsów]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18351#p18351"><![CDATA[
Spokojnie, poczekam, byle bym się doczekał <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=636">MrDarkenRahl</a> — 6 lis 2012, o 23:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-11-03T20:29:36+01:00</updated>
<published>2012-11-03T20:29:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18146#p18146</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18146#p18146"/>
<title type="html"><![CDATA[Re: STM32F0Discovery - liczenie impulsów]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18146#p18146"><![CDATA[
pomogę ci , ale musisz trochę poczekać , bo mam ks108 na razie rozbebeszony z Antystatycznym<br />na razie jak nie czytałeś to poczytaj sobie w poradnikach o róznicach w trupestudio i na mojej stronie o timerach w stm32<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 3 lis 2012, o 20:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrDarkenRahl]]></name></author>
<updated>2012-11-03T17:34:35+01:00</updated>
<published>2012-11-03T17:34:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18136#p18136</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18136#p18136"/>
<title type="html"><![CDATA[STM32F0Discovery - liczenie impulsów]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1749&amp;p=18136#p18136"><![CDATA[
Witam<br />Po pierwsze, jako że to mój pierwszy post - witam wszystkich.<br /><br />Muszę zarejestrować ILOŚĆ (czas trwanie nie ma znaczenia) impulsów podanych na któreś z wejść. Impulsy to skok napięcia do 5V. Potrzebuję również pętli na 400 wierszy, które są kolejno uzupełnianie, a kiedy wszystkie zostaną wypełnione, wypełnianie następuje od początku - to już jest rozwiązane, w załączniku plik exe z przykładem (tam jest tylko 10 wierszy - aby lepiej zrozumieć ideę, wpiszcie zmienne przynajmniej 20 razy i obserwujcie co &quot;zwraca&quot; konsola). Rozszerzenie exe jest zablokowane, więc je spakowałem.<br />Tutaj kod w C:<br />[syntax=c]<br />#include &lt;stdio.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />void wypisz(short t[])<br />{<br />    int i, sum;<br />    system(&quot;cls&quot;);<br />    for (i = 0, sum = 0; i &lt; 9; i++)<br />    {<br />//        printf(&quot;%6hd+&quot;, t[i]);<br />        printf(&quot;%hd+&quot;, t[i]);<br />        sum += t[i];<br />    }<br />    sum += t[9];<br />    printf(&quot;%hd=%d\n&quot;, t[9], sum);<br />//    printf(&quot;%6hd=%d\n&quot;, t[9], sum);<br />}<br /><br />int main()<br />{<br />    short t[10] = {0};<br />    int i;<br /><br />    while (1)<br />    {<br />        for (i = 0; i &lt; 10; i++)<br />        {<br />            wypisz(t);<br />            printf(&quot;Podaj %d. element: &quot;, i + 1);<br />            scanf(&quot;%hd&quot;, t + i);<br />        }<br />    }<br />    return 0;<br />}<br />[/syntax]<br /><br />W uC zamiast podawania kolejnych elementów do tablicy, ma być podawana ilość impulsów, które pojawiły się na wejściu w ciągu 1/10 sekundy (czyli cała tabela zostanie zapełniona w 40 sekund). Na ekranie (nie wiem jeszcze czy jakiś 2x16, czy z Nokii 3310, zależy jaki załatwię) ma być wyświetlana suma całej tabeli, odświeżana co 1/10 sekundy. Przez pierwsze 40 sekund na zmianę z wynikiem ma być wyświetlany komunikat &quot;Wynik zafałszowany, zbieram dane.&quot; (2 sekundy komunikatu, 2 sekundy wyniku). Po tych pierwszych 40 sekundach ma być wyświetlany sam wynik.<br /><br />Wolałbym nie dostać gotowca, ponieważ chce się czegoś nauczyć, więc bardzo prosiłbym o informacje jak rejestrować ilość impulsów, jak zrobić to ostrzeżenie przez pierwsze 40 sekund itp. Na razie nie mogę przetestować, bo jeszcze nie mam wyświetlacza (a impulsy mogę symulować &quot;zwieraniem&quot; pinu +5V i jakiegoś pinu wejściowego, bo impulsy z mojego urządzenia też będą miały 5V. <br /><br />Pozostaje jeszcze najważniejsza kwestia - jak przerobić to na formę trawioną przez STM32F0Discovery? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />A teraz pytanie do Was - pomożecie? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />.<br />Pozdrawiam<br />Darken<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=636">MrDarkenRahl</a> — 3 lis 2012, o 17:34</p><hr />
]]></content>
</entry>
</feed>