Skocz do zawartości

Pomocna odpowiedź

Napisano

Witam 😄

Chciałem zacząć przygode z płytką stm32l476RG. Postępowałem zgodnie z instrukcjami zawartymi w kursie zamieszczonym na tej stronie:

https://forbot.pl/blog/kurs-stm32l4-wejscia-wyjscia-czyli-gpio-stm32-id46571

W odpowiednim miejscu w zakładce main.c w funkcji while(1) wpisałem komendy:

HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);

HAL_Delay(500);

Korzystam z STM32CubeIDE 1.11.0. 

Zdebugowałem i uruchomiłem program klawiszem F8. 

Mimo wykonanych czynności, dioda nie załącza się. Nie wyskakują żadne błędy. 

Przy nowym projekcie w oknie wyboru płytki wybrałem stm32l476RGT3. 

Dlaczego dioda LD2 nie uruchamia się? 

Bardzo byłbym wdzięczny za pomoc 😄

@NajlepszyAwioni witam na forum 🙂 Nikt ostatnio nie zgłaszał tego typu błędów, więc raczej jest to jakiś problem konkretnie u Ciebie. Pokaż dla formalności dokładny kod, który w main. Umieść go w wiadomości za pomocą narzędzia do wstawiania kodu lub pokaż zrzut ekranu, aby było dokładnie widać wszystko komentarze w kodzie.

Czy podczas debugowania programu wszystko działa poprawnie, tj. program skacze wewnątrz tej pętli, która ma zmieniać stan diody?

Wcześniej przy debugowaniu wyskakiwał komunikat "Automatically Switch to Debug Perspective ". W celu jego usunięcia, wykonałem instrukcje zamieszczone pod linkiem:

https://stackoverflow.com/questions/2515762/how-do-i-turn-off-automatically-switch-to-debug-perspective-mode-in-eclipse

a mianowicie: Preferences -> Run/Debug -> Perspectives -> Open the associated perspective when application suspends.

Wtedy komunikat przestał już wyskakiwać.

Pod spodem zamieściłem zrzut ekruanu z dwiema wpisanymi komendami:

image.thumb.png.4551002c48484f3171d1a56bcbb91248.png

 

Trochę "podejrzana" sprawa, że robiłeś zgodnie z kursem, a masz inne efekty - mówię to w kontekście tego, że nikt nie zgłaszał ostatnio tutaj żadnych problemów, musiałaby nagle wyjść jakaś aktualizacje Cube, która to psuje. Nie mam w niedziele dostępu do środowiska, aby to sprawdzić, ale mam przeczucie, że albo wcale nie kompiluje się u Ciebie widoczny kod, albo nie jest on wgrywany na płytkę. Nie podam z głowy konkretnych nazw opcji, które przydałoby się sprawdzić. Więc niestety to co mogę dziś zaproponować to po prostu spróbuj utworzyć nowy projekt (oczywiście identycznie jak w kursie) i zobacz czy sytuacja się powtórzy. Jeśli tak to prawdopodobnie zmieniło się coś w Cube, ale to będę mógł zweryfikować dopiero jutro.

(edytowany)

A czy może być to na przykład wada płytki, która nie działa w prawidłowy sposób?

 

forum.thumb.png.4d6ff3cb61a6f38f80418e8858ec8fee.png

Wcześniej nie dostrzegałem komunikatów w polu debugowania. Czy na to jest jakaś rada?

 

Edytowano przez NajlepszyAwioni

@NajlepszyAwioni nie, raczej nie powinno być żadnych problemów z płytką. Szczególnie, że debugowanie działało poprawnie. Zróbmy inaczej: wyeksportuj cały swój projekt i dodaj go tutaj jako załącznik w formie archiwum. Sprawdzę u siebie - tak będzie najszybciej 🙂

Ok, sprawdziłem temat. Akurat miałem pod ręką nowy komputer, więc zainstalowane Cube od zera. Po zaimportowaniu projektu wszystko ruszyło i dioda miga. Poniżej kilka tematów:

17 godzin temu, NajlepszyAwioni napisał:

Wcześniej nie dostrzegałem komunikatów w polu debugowania. Czy na to jest jakaś rada?

1) To jest poprawny komunikat, po prostu po zakończeniu debugowania jest to odnotowywane w taki sposób.

2) Nie ma głupich pytań, więc dla formalności zapytam... a jak wgrywasz program, przełączasz się na perspektywę Debug to na pewno klikasz przycisk Resume (F8), aby program ruszył?

3) Wyłącz całkiem Cube. Dla testu możesz jeszcze pobrać ten program. Nie klikaj w nim zbyt wiele, aby przypadkiem czegoś nie zablokować, tylko:

  • Po prawej wybierz Connect
  • Następnie kliknij zakładkę z plusem i wczytaj plik z załącznika: momo.zip
  • Kliknij Download
  • Po zakończeniu Disconnect
  • Odłącz i podłącz Nuclego do USB
  • Dioda powinna szybko migać (szybciej niż w Twoim kodzie) - to oznacza, że program działa dobrze (zmieniłem dla testu prędkość migania), dioda też działa, czyli coś masz pomieszane w ustawieniach Cube, ale to będzie za chwilę szukać wtedy.

1.png2.png

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