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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-05-26T22:31:21+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=46&amp;t=11819&amp;mode</id>
<entry>
<author><name><![CDATA[Sineth]]></name></author>
<updated>2015-05-26T22:31:21+01:00</updated>
<published>2015-05-26T22:31:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11819&amp;p=130178#p130178</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11819&amp;p=130178#p130178"/>
<title type="html"><![CDATA[Re: Problem STM32F3 discovery z kontaktronem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11819&amp;p=130178#p130178"><![CDATA[
Super, działa! <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Bardzo dziękuję, faktycznie po doczytaniu datasheet te piny już są zajęte. Zmieniłem na PD5 i wszystko śmiga <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Teraz jeszcze odbiór zrobić w aplikacji i będzie wizualizacja <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=9711">Sineth</a> — 26 maja 2015, o 22:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[buz11]]></name></author>
<updated>2015-05-26T20:45:35+01:00</updated>
<published>2015-05-26T20:45:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11819&amp;p=130168#p130168</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11819&amp;p=130168#p130168"/>
<title type="html"><![CDATA[Re: Problem STM32F3 discovery z kontaktronem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11819&amp;p=130168#p130168"><![CDATA[
Hej,<br />Piny PA13 i PA14 pełnią funkcję interfejsu programatora/debugera SWD, spróbuj zmienić pin od czujnika na inny.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=686">buz11</a> — 26 maja 2015, o 20:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Sineth]]></name></author>
<updated>2015-05-26T20:10:41+01:00</updated>
<published>2015-05-26T20:10:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11819&amp;p=130162#p130162</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11819&amp;p=130162#p130162"/>
<title type="html"><![CDATA[Problem STM32F3 discovery z kontaktronem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11819&amp;p=130162#p130162"><![CDATA[
Witam wszystkich bardzo serdecznie,<br /><br />Mam mały problem z odczytywaniem danych z czujnika zewnętrznego do płytki STM32F3 discovery.<br />Robię sobie taki mały projekt nt. Inteligentnego domu, lecz napotkałem pewne problemy z czujnikiem magnetycznym zwanym kontaktronem. <br />Stworzyłem aplikacje okienkowa w c++ builder 6, w której steruje oświetleniem, drzwiami (wizualnie) i innego tego typu rzeczami.<br />Sterowanie oświetleniem działa, zrobiłem za pomocą komponentu COMPORT wysyłanie danych do płytki i następnie napisałem program na STM'a, który odbiera te dane (dane oczywiście typu char) i załącza oświetlenie. Z tym nie było problemu <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ... Problemy zaczeły się w momencie odczytu danych z czujnika.. Szczerze powiem, że jestem początkującym jeśli chodzi o AVR/ARM, ale termin mnie goni i na szybko muszę zrobić projekt na zaliczenie. Niestety nie mam pojęcia co robię źle.. Korzystam z aplikacji STM32CubeMX i tam sobie konfiguruje różne piny, porty itp. Przejdę wreszcie do sedna...<br />Gdy podpinam kontaktron stykiem NO do pinu PA13 no i drugim NC/COMM do masy podczas wykonywania programu nagle STM dostaje głupawki i się zawiesza następnie wyskakuje komunikat, że nie znalazł ST-LINKa i do tego nie wykrywa urządzenia + do tego wyłącza diode L2. Wszystko było oki dopóki nie wgrałem i odpaliłem program. Sprawdziłem potem bez czujnika i STM chodził normalnie. Musiałem niestety w ST-Linku użyć opcji Erase w trybie pomocniczym i wróciło wszystko do normy. Teraz nie wiem czy to czujnik jest winny, czy to mój kod coś miesza..<br />Chodzi mi dokładnie o to, żeby był odczyt z czujnika i następnie pokazywał w mojej aplikacji stan otwarcia/zamknięcia drzwi -&gt; To jest mój cel, który pragnę osiągnąć <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Przyznam, że kod nie jest jakiś strasznie skomplikowany, ale tak jak pisałem jestem początkującym <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Poniżej wrzucę kod oświetlenia, który działa:<br /><br />[syntax=c]uint8_t Bufor&#91;&#93; = &quot; &quot;;<br /><br />  while (1)<br />  {<br />HAL_UART_Receive_IT (&amp;huart2, (uint8_t*)Bufor, 1);<br />//-----------------------------------------------------------------------------------<br />if (Bufor&#91;0&#93; == 'o')<br />{<br />HAL_GPIO_WritePin (GPIOE, GPIO_PIN_8, GPIO_PIN_SET);  <br />}<br />if (Bufor&#91;0&#93; == 'q')<br />{<br />HAL_GPIO_WritePin (GPIOE, GPIO_PIN_8, GPIO_PIN_RESET);  <br />}<br />//-----------------------------------------------------------------------------------<br />if (Bufor&#91;0&#93; == 'w')<br />{<br />HAL_GPIO_WritePin (GPIOE, GPIO_PIN_9, GPIO_PIN_SET);  <br />}<br />if (Bufor&#91;0&#93; == 'e')<br />{<br />HAL_GPIO_WritePin (GPIOE, GPIO_PIN_9, GPIO_PIN_RESET);  <br />}<br />//-----------------------------------------------------------------------------------<br />if (Bufor&#91;0&#93; == 'v')<br />{<br />HAL_GPIO_WritePin (GPIOE, GPIO_PIN_10, GPIO_PIN_SET);  <br />}<br />if (Bufor&#91;0&#93; == 'l')<br />{<br />HAL_GPIO_WritePin (GPIOE, GPIO_PIN_10, GPIO_PIN_RESET);  <br />}<br />//-----------------------------------------------------------------------------------<br />if (Bufor&#91;0&#93; == 'b')<br />{<br />HAL_GPIO_WritePin (GPIOE, GPIO_PIN_11, GPIO_PIN_SET);  <br />}<br />if (Bufor&#91;0&#93; == 'c')<br />{<br />HAL_GPIO_WritePin (GPIOE, GPIO_PIN_11, GPIO_PIN_RESET);  <br />}<br />//-----------------------------------------------------------------------------------<br />if (Bufor&#91;0&#93; == 'd')<br />{<br />HAL_GPIO_WritePin (GPIOE, GPIO_PIN_12, GPIO_PIN_SET);  <br />}<br />if (Bufor&#91;0&#93; == 's')<br />{<br />HAL_GPIO_WritePin (GPIOE, GPIO_PIN_12, GPIO_PIN_RESET);  <br />}<br />}[/syntax]<br /><br />A tutaj jest kod kontaktronu, który niestety chyba nie działa..<br />Dioda się załącza, ale ciągle świeci po odsunięciu magnesu. (Jest po to, żeby sprawdzić stan czujnika)<br /><br /><br />[syntax=c]int stan = 0;;<br />uint8_t otwarty&#91;&#93; = &quot; &quot;;<br />uint8_t zamkniety&#91;&#93; = &quot; &quot;;<br />while(1)<br />{<br />stan = HAL_GPIO_ReadPin (GPIOA, GPIO_PIN_13);<br />  <br />if(stan == 1)<br />{<br />otwarty&#91;0&#93; = 'O';<br />HAL_UART_Transmit (&amp;huart2, (uint8_t*)otwarty, 1, 120);<br />   HAL_GPIO_WritePin (GPIOE, GPIO_PIN_8, GPIO_PIN_SET);<br />}<br /><br />if(stan == 0)<br />{<br />zamkniety&#91;0&#93; = 'Q';<br />HAL_UART_Transmit (&amp;huart2, (uint8_t*)zamkniety, 1, 120);   <br />HAL_GPIO_WritePin (GPIOE, GPIO_PIN_8, GPIO_PIN_RESET);<br />}<br />}[/syntax]<br /><br />Te znaki w ' ' to oczywiście dane do odczytu przez moją aplikację okienkową.<br /><br />Z góry dziękuję za odpowiedzi, może ktoś będzie potrafił mi pomóc <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9711">Sineth</a> — 26 maja 2015, o 20:10</p><hr />
]]></content>
</entry>
</feed>