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



Teraz jest 28 mar 2024, o 20:16


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: 1079
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 ]
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 ]
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 ]
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 ]
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 ]
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 ]
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 1 gość


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