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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 26 lip 2025, o 15:50


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
    Autor Wiadomość
    PostNapisane: 22 maja 2017, o 19:45 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    Ma ktoś może bibliotekę do ds18b20 na stm32 z biblioteką HAL?
    Albo cierpię na chwilową dys-googlię, albo naprawdę nie ma.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 maja 2017, o 21:00 
    Offline
    Użytkownik

    Dołączył(a): 23 sty 2014
    Posty: 1085
    Pomógł: 73

    Zerknij w tym wątku: topic16240-30.html

    Kolega Intre coś o tej bibliotece wspominał :)

    Może się podzieli :)


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 maja 2017, o 00:39 
    Offline
    Nowy

    Dołączył(a): 31 gru 2013
    Posty: 11
    Pomógł: 0

    A no kolega Intre się podzielił. Kwestia ustawień zegara i śmiga jak ta lala :lol:



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 maja 2017, o 20:38 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    Na podstawie kodu z linku udało mi się uruchomić bibliotekę z BB.
    Trzeba przerobić pliki onewire.c i onewire.h i zrobić drobną zmianę w ds18x20.c

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


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


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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 cze 2017, o 22:35 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 kwi 2014
    Posty: 150
    Pomógł: 1

    Hej @HomoChemicus
    Serdeczne dzięki za biblioteki :)
    Próbuję wyszukać czujników za pomocą funkcji search_sensors jednakże nie wykrywa mi ich :/
    Możesz pokazać implementację tych bibliotek w głównym programie?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 cze 2017, o 08:09 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    W tym najbliższym tygodniu nie wiem czy dam radę, ale poszukam błędu.

    ------------------------ [ Dodano po: 19 minutach ]

    A ustawiłeś odpowiedni pin w bibliotece i w CubeMX ustawiłeś go jako wyjście PP?
    "search_sensors()" mam w "USER CODE 2".

    Ne gwarantuję poprawności działania trybu parasite. Nie miałem czasu i okazji potestować ten tryb.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 cze 2017, o 10:21 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 kwi 2014
    Posty: 150
    Pomógł: 1

    Przypuszczam, że błąd mam w ustawieniu pinu w Cube.
    Oto moje ustawienia:
    Obrazek

    Mam jeszcze kilka pytań do pliku onewire.c. Będę niezmiernie wdzięczny jak na nie odpowiesz :)
    1. Co to za biblioteka dalay.h i dlaczego nie wykorzystałeś funkcji HAL_Delay();?
    2. Do czego zdefiniowałeś makrodefinicje OW_GET_IN() ? anie zdefiniowałeś zmiennych OW_PORT, OW_PIN?

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


    Dopiero zaczynam przygodę z STMami. Więc proszę o dużą dawkę cierpliwości i wyrozumiałości :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 cze 2017, o 13:48 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    Mam pin w Cube ustawiony tak jak ty. Te "define" to pozostałości po modyfikacjach, które zapomniałem usunąć. Zapomniałem dołączyć plików delay. To pliki od opóźnień w us, a hal ma tylko funkcje dla ms. Do pliku main.c musisz dołączyć jeszcze delay.h, a przed search_sensors dać Delay_Init().

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


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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 cze 2017, o 22:36 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 kwi 2014
    Posty: 150
    Pomógł: 1

    Plik deley.c sam napisałeś, czy może skądś go zdobyłeś ? :)
    Pytam ponieważ posiadam zestaw stm32f0xx a widzę, że biblioteka napisana jest pod stm32f1xx i w związku z tym kompilator wywala mi błędy w pliku delay.c przy definicji funkcji Delay_Init():
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 cze 2017, o 00:12 
    Offline
    Użytkownik

    Dołączył(a): 29 lip 2014
    Posty: 195
    Pomógł: 44

    Witam,
    ludzie to mają pomysły.... Kol.amilo_pa weź dowolny timer ( nawet w STM32F0xx masz ich jak "psów"), zainicjalizuj w nim TimeBase tak, aby jego 1 "tick" był 1us, a w funkcji delay czekaj, aż on się wyzeruje. Ponizej masz przykład:
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    , albo zrób ten cały init "na rejestrach", to proste jak budowa cepa:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Pozdrawiam, QuadMan.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 cze 2017, o 22:55 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 kwi 2014
    Posty: 150
    Pomógł: 1

    Kolego QuadMan jak już wspominałem jestem świeżutki w tematyce STMów, więc niektóre "trywialne" rzeczy nie koniecznie są dla minie trywialne. Dzięki za podesłanie przykładowych rozwiązań. Jak możesz to powiedz mi czemu one nie działają poprawnie?
    Tzn mam dwa pliki:
    delay.h
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


    I teraz:
    1. jeżeli skompiluję funkcję Delay_init w której ustawiam Timer16 za pomocą struktury TIM_HandleTypeDef to licznik TM16->CNT zlicza mi maksymalnie do 47.
    2. jeżeli ustawię rejestry za pomocą rejestrów to licznik zlicza do maksymalnej wartości?

    Kolego HomoChemicus dalej nie funkcja search_sensor nie widzi czujników temperatury.


    Załączniki:

    Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 cze 2017, o 00:46 
    Offline
    Użytkownik

    Dołączył(a): 29 lip 2014
    Posty: 195
    Pomógł: 44

    Witam,

    Kol. amilo_pa, a przypadkiem nie pomyliłeś prescalera, z periodem w inicjalizacji struktury? Tak na marginesie: moje: ludzie to mają pomysły... to nie było personalnie do Ciebie, tylko do twórców tego delay, który wcześniej pokazałeś...

    Pozdrawiam, QuadMan.

    Dopisane:
    Aż sprawdziłem tego delaya u siebie i tak:
    Funkcja z HAL-em jest na pewno ok, natomiast w funkcji delay_init() na rejestrach może być pewien problem, polegający na tym, że dopóki licznik się "nie przekręci" nie zostaną załadowane nowe wartości do PSC i ARR, warto wymusić Update Event w rejestrze EGR ( u mnie ten timer chodził bez wyłączania, więc w końcu i tak się przeładował - używałem go do czegoś innego):
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 cze 2017, o 22:53 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 kwi 2014
    Posty: 150
    Pomógł: 1

    Kol. QuadMan miałeś rację. Miałem zamienione prescaler z periodem. Ale żeby nie było zbyt łatwo to po zamianie wyskakują mi totalnie nie zrozumiałe dla mnie komunikaty :?

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


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


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


    o co może mu chodzić ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 cze 2017, o 16:07 
    Offline
    Użytkownik

    Dołączył(a): 29 lip 2014
    Posty: 195
    Pomógł: 44

    Witam,

    amilo_pa napisał(a):
    ../Application/User/Delay/delay.c:35:9: error: stray '\200' in program
    ../Application/User/Delay/delay.c:35:9: error: stray '\255' in program
    ../Application/User/Delay/delay.c:35:9: error: stray '\342' in program
    ../Application/User/Delay/delay.c:35:9: error: stray '\200' in program
    ../Application/User/Delay/delay.c:35:9: error: stray '\254' in program
    make: *** [Application/User/Delay/delay.o] Error 1

    23:46:59 Build Finished (took 601ms)[/syntax]

    o co może mu chodzić ?


    Na pierwszy rzut oka wygląda na to że albo w deklaracji Tim16_Period_max, albo w tej linii:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    "zaplątały" się jakieś znaki, które nie są znakami ASCII. Tą linię i deklarację wklepałeś z klawiatury, czy CtrlC, CtrlV ?

    Pozdrawiam, QuadMan



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 cze 2017, o 19:37 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 kwi 2014
    Posty: 150
    Pomógł: 1

    Nie ma żadnego znaczenia czy zrobię to za pomocą CtrlC, CtrlV czy wpiszę z klawiatury.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 cze 2017, o 22:18 
    Offline
    Użytkownik

    Dołączył(a): 29 lip 2014
    Posty: 195
    Pomógł: 44

    Witam ponownie.

    To może umieść tu Twój spakowany projekt - bez bibliotek dla czujnika.

    Pozdrawiam, QuadMan.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 cze 2017, o 23:16 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 kwi 2014
    Posty: 150
    Pomógł: 1

    Wydaje mi się, że ogarnąłem ten timer, jednakże proszę o sprawdzenie poprawności dziłania.


    Załączniki:

    Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



    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: 17 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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