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:
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)
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.