Skocz do zawartości

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


Pomocna odpowiedź

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.

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 🙂

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
  • 2 tygodnie później...

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?

  • 1 miesiąc później...

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ść?

  • 3 miesiące później...

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
  • 2 miesiące później...
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 😅

  • 2 miesiące później...

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

  • 3 miesiące później...

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ć?

  • 10 miesiące później...
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.

  • 3 miesiące później...
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

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...