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.

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 🙂

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

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

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
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 😅

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

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.

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
Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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!

Anonim
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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.