jd123 Kwiecień 25, 2022 Udostępnij Kwiecień 25, 2022 Cześć, zacząłem przerabiać ten odcinek i już są pytania: 1. W którym miejscu dokumentacji jest napisane, że pin PA5 odpowiedzialny jest za diodę LD2, a pin PC13 za przycisk (przeglądałem datasheet i reference manual i nie mogę zlokalizować) ? 2. Jak podłączam płytkę do komputera to na czerwono świeci LD1 i LD3, a jak wgrałem pierwszy program do migania diodą, to dioda LD2 miga poprawnie, LD3 świeci na czerwono a LD1 bardzo szybko miga na czerwono i zielono, czy to poprawne? czy coś tu jest nie tak? Link do komentarza Share on other sites More sharing options...
Gieneq Kwiecień 25, 2022 Udostępnij Kwiecień 25, 2022 @jd123 sprawdź na schemacie, nie pamiętam jak się go szukało, ale jest gdzieś w obszernym zestawie plików związanych z płytkami nucleo: MB1136.pdf 1 godzinę temu, jd123 napisał: LD3 świeci na czerwono Będzie zawsze świecić jak jest zasilanie: 1 godzinę temu, jd123 napisał: LD1 bardzo szybko miga na czerwono i zielono, czy to poprawne? Tak, to jest dioda statusu programatora: 1 Link do komentarza Share on other sites More sharing options...
Rubik_block Maj 29, 2022 Udostępnij Maj 29, 2022 Witam. Bardzo podoba mi się przedstawiony materiał. Jedyną uwagę jaką mam do autora, to prośba o zastosowanie bardziej czytelnego stylu prezentacji kodu. Jak zauważyłem w wątku jeden z kolegów miał problem z nawiasami, ja również zastanawiałem się, gdzie blok funkcji się kończy. Proponuje używać w przyszłości stylu wcięć Allmana (jest jako jeden z domyślnych stylów, które można ustawić), rozwleka kod, ale jest bardziej czytelny, nawiasy zaś są pod instrukcjami, a linie są wcięte wewnątrz bloku funkcji, ułatwi to ogólny przegląd przykładów kodu. Reszta super! Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Maj 30, 2022 Udostępnij Maj 30, 2022 @Rubik_block dziękuję za miłe słowa, cieszę się, że kurs jest pomocny 🙂 W przyszłości przyjrzymy się dokładniej kwestii formatowania kodu. Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
BlackJack Czerwiec 16, 2022 Udostępnij Czerwiec 16, 2022 Próbuję ruszyć STMy ale zastanawia mnie jedno. Panowie czemu po naciśnięciu kompilacji, nie generuje mi się plik .bin? Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Czerwiec 29, 2022 Udostępnij Czerwiec 29, 2022 @BlackJack wybacz brak odpowiedzi, ale umknęło mi to pytanie. Sprawdź czy masz zaznaczoną odpowiednią opcję w: Project > Properties > C/C++ Bulild > Settings > Tool Settings > MCU Post Build outputs. Link do komentarza Share on other sites More sharing options...
pgolab Lipiec 15, 2022 Udostępnij Lipiec 15, 2022 Witam! Dziękuję za rewelacyjny materiał - świetna treść, bardzo fajnym podejściem jest generowanie błędów i iteracyjne poprawianie rozwiązania z przyciskiem. Z perspektywy osoby raczkującej w dziedzinie elektroniki, fragment ten kapitalnie wyjaśnia problematykę i konieczność stosowania filtrów 🙂 Mam jedną uwagę od strony kodowej. Często pojawiają się instrukcje w stylu: bool is_button_pressed(void) { if (HAL_GPIO_ReadPin(USER_BUTTON_GPIO_Port, USER_BUTTON_Pin) == GPIO_PIN_RESET) { return true; } else { return false; } } Jest to trochę redundantny zapis - sprawdzamy warunek, a następnie w zależności od wyniku stosujemy zwracamy ten sam wynik ręcznie. Dużo prostsze jest: bool is_button_pressed(void) { return HAL_GPIO_ReadPin(USER_BUTTON_GPIO_Port, USER_BUTTON_Pin) == GPIO_PIN_RESET; } Wydaje mi się, że nawet dla początkujących osób taka interpretacja kodu (po ewentualnym objaśnieniu) będzie naturalna: "funkcja zwraca wartość mówiącą, czy wartość pinu jest ustawiona na GPIO_PIN_RESET". Analogicznie, zamiast: if (is_button_pressed()) { led_set(0, true); } else { led_set(0, false); } Można napisać: led_set(0, is_button_pressed()); Ponownie otrzymujemy nie tylko bardziej zwięzły kod, ale też jego interpretacja jest bardzo naturalna: "ustaw wartość diody 0 odpowiednio do stanu wciśnięcia przycisku". Pozdrawiam! 1 Link do komentarza Share on other sites More sharing options...
Gieneq Lipiec 18, 2022 Udostępnij Lipiec 18, 2022 (edytowany) @pgolab pewnie że można, bool is_button_pressed(void) { return HAL_GPIO_ReadPin(USER_BUTTON_GPIO_Port, USER_BUTTON_Pin) == GPIO_PIN_RESET; } Ten zapis można uprościć, jeżeli spojrzysz na definicję: /** * @brief GPIO Bit SET and Bit RESET enumeration */ typedef enum { GPIO_PIN_RESET = 0, GPIO_PIN_SET }GPIO_PinState; /** * @} */ Ctrl+click zawsze pomaga w takim dociekaniu 😉 bool false to wartość = 0 bool true to wartość!= 0 czyli np 1, 2, -1, 1.2. więc dodaj negację i zadziała: bool is_button_pressed(void) return !HAL_GPIO_ReadPin(USER_BUTTON_GPIO_Port, USER_BUTTON_Pin); a żeby zachęcić kompilator do optymalizacji możesz jeszcze dać atrybut inline żeby nie robić wywołania takiej funkcji,k órej zadaniem jest posiadanie ładnej nazwy: inline bool is_button_pressed(void) return !HAL_GPIO_ReadPin(USER_BUTTON_GPIO_Port, USER_BUTTON_Pin); Edytowano Lipiec 18, 2022 przez Gieneq Link do komentarza Share on other sites More sharing options...
Nakush Lipiec 30, 2022 Udostępnij Lipiec 30, 2022 Cześć, gdzie mogę znaleźć informacje o tym jak jest realizowane rozwiązanie Pull-up (i tym samym Pull-down), które zostaje skonfigurowane dla pinu PC8 w CubeMX? A przy okazji dodam, że kurs jak zawsze (kto by się spodziewał) jest genialny! Jestem waszym odbiorcą już od kilku lat i dzięki materiałom o Arduino, elektronice, malince i oczywiście STMie moja nauka w technikum, a teraz na studiach, jest o niebo lepsza. Dziękuję, że jesteście! Link do komentarza Share on other sites More sharing options...
Gieneq Sierpień 1, 2022 Udostępnij Sierpień 1, 2022 (edytowany) Nie wiem jaki poziom szczegółowości cie interesuje, ale w tej dokumentacji coś znajdziesz: STMicroelectronics-STM32L476RGT6-datasheet.pdf Czy jest to rezystancja średnio 40k w szeregu z kluczującymi mosfetami. Edytowano Sierpień 1, 2022 przez Gieneq 1 Link do komentarza Share on other sites More sharing options...
Nakush Sierpień 1, 2022 Udostępnij Sierpień 1, 2022 @Gieneq O coś takiego mi chodziło. Dzięki! Link do komentarza Share on other sites More sharing options...
vadmae Wrzesień 27, 2022 Udostępnij Wrzesień 27, 2022 Hej 🙂 Zakupiłem zestaw z płytka nucleo z botlandu i na samym starcie kursu natrafiłem na problem, przy próbie debugowania migania diodą dostaje taki komunikat Jak to naprawić ? EDIT: Gdy uruchomię na świeżo system i próbuje zdebugowac ten sam kod dostaje trochę inny komunikat: Pomocy 😞 Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Wrzesień 28, 2022 Udostępnij Wrzesień 28, 2022 @vadmae witam na forum 🙂 Z której dokładnie wersji IDE korzystasz? Sprawdź też dla formalności czy masz najnowszą wersję oprogramowania programatora. Tutaj jest instrukcja do aktualizacji: https://os.mbed.com/teams/ST/wiki/Nucleo-Firmware Link do komentarza Share on other sites More sharing options...
vadmae Wrzesień 28, 2022 Udostępnij Wrzesień 28, 2022 (edytowany) @Treker Korzystam z IDE wersji 1.10.1 Niestety aktualizacja programatora nic nie pomogła (miałem wersje aktualną) Spróbowałem przeinstalować całe środowisko, ale tutaj również to nic nie dało Edytowano Wrzesień 28, 2022 przez vadmae Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Wrzesień 29, 2022 Udostępnij Wrzesień 29, 2022 @vadmae zacznij od sprawdzenia, czy na pewno masz wybraną konfigurację "Debug", a nie "Release". Sprawdź też czy Twoje ustawienia wyglądają dokładnie tak jak u nas (zrzut: "Domyślna konfiguracja projektu"): https://forbot.pl/blog/kurs-stm32l4-platforma-sprzetowa-i-srodowisko-stm32cubeide-id46575 Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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ę »