Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 5 sty 2025, o 12:40


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 26 maja 2015, o 20:10 
Offline
Nowy

Dołączył(a): 30 kwi 2015
Posty: 4
Lokalizacja: Kraków
Pomógł: 0

Witam wszystkich bardzo serdecznie,

Mam mały problem z odczytywaniem danych z czujnika zewnętrznego do płytki STM32F3 discovery.
Robię sobie taki mały projekt nt. Inteligentnego domu, lecz napotkałem pewne problemy z czujnikiem magnetycznym zwanym kontaktronem.
Stworzyłem aplikacje okienkowa w c++ builder 6, w której steruje oświetleniem, drzwiami (wizualnie) i innego tego typu rzeczami.
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 :) ... 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...
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..
Chodzi mi dokładnie o to, żeby był odczyt z czujnika i następnie pokazywał w mojej aplikacji stan otwarcia/zamknięcia drzwi -> To jest mój cel, który pragnę osiągnąć :)

Przyznam, że kod nie jest jakiś strasznie skomplikowany, ale tak jak pisałem jestem początkującym :)
Poniżej wrzucę kod oświetlenia, który działa:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


A tutaj jest kod kontaktronu, który niestety chyba nie działa..
Dioda się załącza, ale ciągle świeci po odsunięciu magnesu. (Jest po to, żeby sprawdzić stan czujnika)


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Te znaki w ' ' to oczywiście dane do odczytu przez moją aplikację okienkową.

Z góry dziękuję za odpowiedzi, może ktoś będzie potrafił mi pomóc :)

Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 maja 2015, o 20:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 283
Lokalizacja: Warszawa
Pomógł: 17

Hej,
Piny PA13 i PA14 pełnią funkcję interfejsu programatora/debugera SWD, spróbuj zmienić pin od czujnika na inny.


Autor postu otrzymał pochwałę

_________________
Pozdrawiam
Grzegorz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 maja 2015, o 22:31 
Offline
Nowy

Dołączył(a): 30 kwi 2015
Posty: 4
Lokalizacja: Kraków
Pomógł: 0

Super, działa! :)
Bardzo dziękuję, faktycznie po doczytaniu datasheet te piny już są zajęte. Zmieniłem na PD5 i wszystko śmiga :)
Teraz jeszcze odbiór zrobić w aplikacji i będzie wizualizacja :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO