Skocz do zawartości
Komentator

Kurs STM32 F4 - #6 - Liczniki, konfiguracja zegara, debugger

Pomocna odpowiedź

Oshel, dzięki, że podzieliłeś się rozwiązaniem problemu - na pewno przyda się komuś w przyszłości 😉

Udostępnij ten post


Link to post
Share on other sites

Problem może i jest rozwiązany, ale środowisko dalej nie działa jak trzeba i już powoli zniechęcam się do SW4STM32. Następnym problemem jest brak poprawnej inicjalizacji peryferium- ta sama funkcja (HAL_SPI_Init(&hspi1)), tyle, że w strukturze hspi1 nic się nie zmienia podczas jej wykonywania przez co peryferium najzwyczajniej w świecie się nie inicjalizuje...

Miał może ktoś z tym problem?

@edit

Dodam, że pracuję na discovery L4. Podpiąłęm przed chwilą discovery F7 i początkowo był ten sam błąd (zacinanie się na funkcji Init), ale po zmianie optymalizacji jest wszystko ok.

Udostępnij ten post


Link to post
Share on other sites

Oshel, jeśli korzystasz z innej platformy sprzętowej, to załóż osobny temat w odpowiednim dziale. W komentarzach do artykułów rozmawiamy głównie o ewentualnych problemach ze sprzętem używanym w kursach - inaczej powstanie zamieszanie. Jeśli inne osoby nie zgłaszają tego błędu korzystając ze wskazanego zestawu, to w Twoim wypadku wina zapewne leży po stronie sprzętu. Z góry dziękuję za zrozumienie - wszystko, aby utrzymać porządek 🙂

Udostępnij ten post


Link to post
Share on other sites

Przepraszam za wprowadzanie bałaganu. Faktycznie, nie powinienem zaczynać wątku jeśli moje problemy pojawiają się z innym zestawem. Jednak mimo wszystko wydaję mi się, że problem nie zależy do sprzętu- w końcu każdy mikrokontroler konfiguruje się w Cubie w ten sam sposób i importuje go dokładnie tak samo. Sprawdziłem dodatkowo jak to wygląda na F7 i F3 i problem sie powtarza. Nawet spróbowałem na TrueStudio i dalej to samo. Więc śmiem twierdzić, że to jakaś dziwna kombinacja systemu i innych zmiennych która występuje bardzo rzadko (jak pisałem wcześniej- znalazłem tylko jeden temat).

Reasumując- jeśli program z niewiadomych przyczyn nie chce wyjść z takiego kawałka kodu:

 if (HAL_XXX_Init(&hxxx) != HAL_OK)
 {
   Error_Handler();
 }

to zmień optymalizację na "None".

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Cześć,
Mam problem z eclipsem, który nie zapisuje ustawień.

Przy włączaniu debuggera wyskakuje okienko czy chcę włączyć perspektywę debuggera, zaznaczam "zapamiętaj", a następnie otwórz. Wszystko działa pięknie, jednak po restarcie eclipsa i ponownym włączeniu debugowania wyskakuje mi to samo okienko co wcześniej.

Podobnie jest z ustawieniami konsoli, które również się resetują.

Jak je zapisać na stałe, tak żeby nie trzeba było za każdym razem wprowadzać ich od nowa?

Udostępnij ten post


Link to post
Share on other sites

Witam,
Ja mam problem z plikami binarnymi. Kiedy chcę odpalić debugowanie, Eclipse wyświetla mi komunikat, że ni może znaleźć plików binarnych i żebym zbudował najpierw projekt. Budowałem i przebudowywałem go wiele razy, nawet zainstalowałem od nowa SW4STM32, ale to nic nie dało. Wiem, że je tworzy bo je widze i korzystam z nich w innych programach.

Czy miał ktoś podobny problem? Jak mogę to rozwiązać, albo obejść?

Udostępnij ten post


Link to post
Share on other sites

abbadon1407, sprawdź czy w ścieżce prowadzącej do projektów nie masz spacji lub polskich znaków 🙂

Udostępnij ten post


Link to post
Share on other sites

Znalazłem jeden problem z ustawieniem zewnętrznego oscylatora. Mianowicie u mnie CUBE pod procesor STM32F407VG generuje taki fragment kodu:

RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSE

zamiast:

RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE

Skutkuje to tym, że konfiguracja kończy się błędem i procesor nie rusza. Ręczna zmiana na kod właściwy rozwiązuje problem.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
Run -> Debug Configurations -> Ac6 STM Debugging -> .elf -> Zakładka: Debugger -> Script: Manual spec -> Debug device: ST-LinkV2-1 -> Debug interface: SWD -> Apply -> Debug

Kolego dzięki, podziałało 😅

Udostępnij ten post


Link to post
Share on other sites

Witam,
chciałem ustawić rezonator na zewnętrzny. Mam go podłączonego do odpowiednich pinów. Problem polega na błędzie w czasie ustawienia na HSE. Wpisując wartość 8 w Input Frequency w ustawieniach zegara w Cube pole zmienia tło na czerwone i automatyczne wpisuje się wartość 0.0000080. Wpisanie 8000000 powoduje przypisanie 8MHz, lecz nawet po zaakceptowaniu zmian enterem klikniecie w innym miejscu powoduje ponowne wpisanie wartości 0.0000080. Nie sposób tego zmienić.

Z góry dziękuję za odpowiedź.

Pozdrawiam,

Łukasz

Udostępnij ten post


Link to post
Share on other sites

Witam. Mam podobny problem co kolega wyżej. Nie mogę znaleźć rozwiązania. Czy ktoś miał ten problem i mógłby podpowiedzieć jak go rozwiązać?

Udostępnij ten post


Link to post
Share on other sites
Gość Kamil_Lwo
Dnia 16.07.2016 o 14:12, HooLs napisał:

Osobiście miałem problem z uruchomieniem przerwania na TIM10, funkcja

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

Po prostu nie działała, zauważyłem dopiero po czasie że STM32CubeMX wygenerował mi w plikach src plik o nazwie: ,,stm32f4xx_it.c" W tym właśnie pliku znajdowała się wygenerowana funkcja o nazwie: ,,void TIM1_UP_TIM10_IRQHandler(void)" Która dopiero zaczęła działać poprawnie, może w którejś aktualizacji STM32CubeMX pojawiła się ta zmiana, ale mi nie działał sposób z artykułu. Może komuś pomogą moje poszukiwania.

Tu jest chyba błąd autora w, wywołanie powinno być HAL_TIM_Base_Start_IT(&htim10); i wtedyfunkcja void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) działa OK.

Udostępnij ten post


Link to post
Share on other sites
Dnia 7.09.2017 o 14:59, Soberro napisał:

Witam,
chciałem ustawić rezonator na zewnętrzny. Mam go podłączonego do odpowiednich pinów. Problem polega na błędzie w czasie ustawienia na HSE. Wpisując wartość 8 w Input Frequency w ustawieniach zegara w Cube pole zmienia tło na czerwone i automatyczne wpisuje się wartość 0.0000080. Wpisanie 8000000 powoduje przypisanie 8MHz, lecz nawet po zaakceptowaniu zmian enterem klikniecie w innym miejscu powoduje ponowne wpisanie wartości 0.0000080. Nie sposób tego zmienić.

Z góry dziękuję za odpowiedź.

Pozdrawiam,

Łukasz

Miałem ten problem, kiedy korzystałem z Cube'a jako pluginu do Eclipse'a. Niestety nie udało mi się tego rozwiązać, więc przesiadłem się w STMCubeMX w wersji samodzielnego programu. Tam wszystko już było w porządku.

 

 

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...