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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-10-01T12:39:05+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=46&amp;t=16352&amp;mode</id>
<entry>
<author><name><![CDATA[KosteQ95]]></name></author>
<updated>2016-10-01T12:39:05+01:00</updated>
<published>2016-10-01T12:39:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16352&amp;p=170108#p170108</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16352&amp;p=170108#p170108"/>
<title type="html"><![CDATA[Re: Ultradźwiękowy czujnik odległości STM32F4]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16352&amp;p=170108#p170108"><![CDATA[
[syntax=c]HAL_GPIO_ReadPin(wy_cz_o_GPIO_Port,wy_cz_o_Pin)      // zwraca ci tylko 0 lub 1[/syntax]<br /> Do zmierzenia długości impulsu musisz zaprząc jakiś timer i z przerwania exti zczytać wartość timera przełożyć na czas i przeliczyć dopiero na odległość<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10817">KosteQ95</a> — 1 paź 2016, o 12:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mice6]]></name></author>
<updated>2016-10-01T12:08:08+01:00</updated>
<published>2016-10-01T12:08:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16352&amp;p=170103#p170103</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16352&amp;p=170103#p170103"/>
<title type="html"><![CDATA[Ultradźwiękowy czujnik odległości STM32F4]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16352&amp;p=170103#p170103"><![CDATA[
Witam wszystkich.<br />Proszę o sprawdzenie poniższego kodu i poprawkę.<br />Posiadam płytkę STM32F411E-Disco<br />Czujnik HC-SR04 podpiąłem wg schematu:<br />DP6(GPIO_Output) - Trig<br />DP4(GPIO_Input) - Echo<br />5V-Vcc<br />GND-GND<br /><br />Zainicjowałem jako float zmienną odleglosc.<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">HAL_GPIO_WritePin(we_cz_o_GPIO_Port, we_cz_o_Pin, GPIO_PIN_SET);<br />                 HAL_Delay(10);<br />                 HAL_GPIO_WritePin(we_cz_o_GPIO_Port, we_cz_o_Pin, GPIO_PIN_RESET);<br /><br />     odleglosc=HAL_GPIO_ReadPin(wy_cz_o_GPIO_Port,wy_cz_o_Pin)/58.00; //odleglosc w cm<br />     if(odleglosc&lt;1){<br />        HAL_GPIO_WritePin(GPIOD,GPIO_PIN_15,GPIO_PIN_SET);<br />     }<br />     if(odleglosc&lt;10){<br />        HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,GPIO_PIN_SET);<br />     }<br />     if(odleglosc&lt;100){<br />             HAL_GPIO_WritePin(GPIOD,GPIO_PIN_13,GPIO_PIN_SET);<br />          }<br />     if(odleglosc&lt;150){<br />             HAL_GPIO_WritePin(GPIOD,GPIO_PIN_12,GPIO_PIN_SET);<br />          }<br />     HAL_Delay(500);<br />     HAL_GPIO_WritePin(GPIOD,GPIO_PIN_15,GPIO_PIN_RESET);<br />     HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,GPIO_PIN_RESET);<br />     HAL_GPIO_WritePin(GPIOD,GPIO_PIN_13,GPIO_PIN_RESET);<br />     HAL_GPIO_WritePin(GPIOD,GPIO_PIN_12,GPIO_PIN_RESET);</div><br /><br />Z dokumentacji wyczytałem, że na pin trig (u mnie we_cz_o_Pin podpięte pod PD6) należy wysłać stan wysoki przez 10us, dlatego też pierwsze 3 linijki kodu wyglądają w ten sposób.<br />Następnie powinienem odczytać długość trwania impulsu na pinie echo (u mnie wy_cz_o_Pin podpięty pod PD4)<br />Zastanawiam się nad tym jak to zrobić. Potrafię odczytać stan pinu lecz nie potrafię odczytać czas trwania takiego impulsu. <br />Czy były ktoś na tyle dobry aby pomóc mi z tym problemem? Dopiero zaczynam swoją przygodę z stm32 <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=14913">mice6</a> — 1 paź 2016, o 12:08</p><hr />
]]></content>
</entry>
</feed>