Skocz do zawartości

Problem z wybudzeniem mikrokontrolera


stanbb

Pomocna odpowiedź

Cześć, mam problem z przykładem w rozdziale 6 - oszczędzanie energii. Wykonałem dwukrotnie instrukcje krok po kroku, a końcowy efekt jest taki, że dioda mruga raz przy wgraniu programu (lub wciśnięciu przycisku reset na płytce), a potem zero tj. dioda nie mruga. Zasilam płytkę kablem USB. Co mogę sprawdzić ?

Link do komentarza
Share on other sites

@stanbb witam na forum 🙂 Zanim zaczniemy analizować temat dalej to powiedz proszę:

  • Jaka wersja CubeIDE?
  • Czy wcześniej wszystko przebiegało dokładnie tak jak w kursie?

Wyeliminujmy najpierw niespodzianki wynikające ze zmian wprowadzonych w Cube 😉

Link do komentarza
Share on other sites

18 godzin temu, Treker napisał:

wersja : STM32CubeIDE
Version: 1.11.0
Build: 13638_20221122_1308 (UTC)

Poprzednie rozdziały przeszedłem bez problemu zgodnie z opisem. 

Link do komentarza
Share on other sites

@stanbb raczej wszystko powinno w takim razie działać. Wyeksportuj swój cały projekt i dodaj tutaj jako załącznik (spakowane archiwum) - dziś do ~18 będę miał dostęp do płytki to sprawdzę u siebie 🙂

Link do komentarza
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

@stanbb dziękuję za cierpliwość. Poświęciłem na to sporo czasu, a ostatecznie okazało się, że kolejny raz pojawił się ten sam błąd w generatorze kodu, który był już wcześniej. Dokładny opis problemu i jego rozwiązania znajdziesz tutaj: https://forbot.pl/forum/topic/20044-kurs-stm32l4---6---oszczedzanie-energii-5-lat-na-baterii/page/2/#comment-167699

Błąd ten był już zgłaszany do producenta, został naprawiony, ale znów się pojawił. Tutaj jest oficjalne zgłoszenie: https://community.st.com/s/question/0D53W00001U3x5oSAB/does-not-generate-halrtcexsetwakeuptimerit?t=1673531776852

Za chwilę zgłoszę to jeszcze raz innymi kanałami.

W każdym razie, aby naprawić błąd należy dodać do konfiguracji RTC poniższy wpis:

  if (HAL_RTCEx_SetWakeUpTimer_IT(&hrtc, 2047, RTC_WAKEUPCLOCK_RTCCLK_DIV16) != HAL_OK)
  {
    Error_Handler();
  }

Najlepiej między tymi komentarzami:

  /* USER CODE BEGIN RTC_Init 2 */

  /* USER CODE END RTC_Init 2 */

Wtedy wszystko powinno działać.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

@stanbb ten kod uruchamia przerwanie po przepełnieniu licznika, inaczej mówiąc jest to kod, który powinien zostać wygenerowany po wybraniu poniższych funkcji i aktywacji przerwania - wpisana jest tylko mniejsza wartość (2047), aby było szybciej widać efekty podczas testów. W wyniku błędu w generatorze Cube takie linie nie są poprawnie generowane (pomimo wyklikania opcji w konfiguratorze) i dlatego program nie działał. Gdy błąd zostanie usunięty przez producenta to nie będzie potrzeby, aby samodzielnie dopisywać te linie kodu.

1.png

Link do komentarza
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...

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.