Skocz do zawartości

Kurs STM32L4 – #3 – wejścia/wyjścia, czyli GPIO w praktyce


Pomocna odpowiedź

@vadmae miło słyszeć, że udało się rozwiązać problem 🙂 Jeśli płytka była wewnątrz zestawu Forbota to nie ma fizycznej możliwości, aby była wcześniej przez kogoś używana (chyba, że u producenta). Niestety nie masz zarejestrowanego zestawu, więc nie mogę nic więcej sprawdzić w tej kwestii. Jednak, jeśli coś z płytką jest nie tak to zawsze możesz zgłosić to do sprzedawcy (czyli zapewne do Botlandu).

  • 3 tygodnie później...
(edytowany)

Od fragmentu "Sterowanie linijką LED za pomocą przycisku", przestał mi działać kompletnie jakikolwiek program. Zaspamiło mi errorami, które usunąłem, za pomocą "device configuration tool code generation". Od tego momentu żaden skopiowany fragment się nie chce odpalić, mimo resetu CubeIDE i całego komputera. Podczas debugowania mam 2 opcje: albo "termination of previous launch did not complete successfully", albo przyspiesza mi cały proces i nie mam opcji kliknięcia "resume", po przejściu do trybu debugowania. W ogóle nie podświetla mi "Hal_Init();", tylko "bl SystemInit" lub "b LoopForever". Ktoś ma jakiś pomysł, co mogło się stać?
 

Edytowano przez artures12
Dnia 24.10.2022 o 07:56, Treker napisał:

@artures12 witam na forum 🙂 Dla formalności zapytam: problem dotyczy tylko tego projektu, czy również występuje w nowych projektach, które teraz tworzysz?

Aktualnie jestem na delegacji i sprawdzę dopiero jutro lub pojutrze.
Na pewno, po fakcie, zacząłem testować każdy poprzedni program z kursu. Nic nie chciało się wgrać na płytkę. Czy jest szansa, że się coś spaliło? Bawiłem się też w zmianę czasu opóźnienia i odwrócenie kolejności włączania, wszystko działało (do czasu ostatniego wgrania programu). Rezystory jakich używałem to 1k i 4.7k, bo zabrakło tych pierwszych pod ręką, więc wątpię że prąd był za duży, nawet gdyby wszystkie diody na raz były włączone

@artures12 spróbuj w takim razie utworzyć nowy projekt i zobacz co się stanie. Jeśli będą problemy to pokaż co dokładnie się dzieje i będziemy analizować ten temat 🙂

Dnia 28.10.2022 o 15:42, Treker napisał:

@artures12 spróbuj w takim razie utworzyć nowy projekt i zobacz co się stanie. Jeśli będą problemy to pokaż co dokładnie się dzieje i będziemy analizować ten temat 🙂

Właśnie to zrobiłem, zanim przeczytałem wiadomość i działa...
Nie wiem co się mogło zepsuć, już myślałem że to wina całej płytki, bo program się wgrywał bez błędów i włączał, ale z pominięciem "Hal_Init()", przez co nie działał. W nowym projekcie już nie pomija mi tego kroku przy włączaniu i nie ma takiego czegoś jak: "bl SystemInit" lub "b LoopForever"

  • Lubię! 1
  • 2 tygodnie później...
(edytowany)

No, udało mi się przebrnąć przez pierwszą (nie licząc wstępu i instalacji środowiska) część. Na razie kurs wydaje się świetny, jak zresztą poprzednie, które robiłem. W zadaniu pierwszym przychodzi mi do głowy bramka NOT, ale nie wiem, czy to autor miał na myśli. W drugim zmieniłem podłączenie wprawdzie dwóch diod a nie dziesięciu, ale układ działa tak samo.  

Nie do końca rozumiem tylko ten zapis: 

GPIO_PinState state = (turn_on) ? GPIO_PIN_SET : GPIO_PIN_RESET;

To oznacza to samo co to?:

GPIO_PinState state;
 
	if (turn_on) {
		state = GPIO_PIN_SET;
	} else {
		state = GPIO_PIN_RESET;
	}
Edytowano przez StefanekP
  • 4 tygodnie później...

Witam,

zaczałem korzystać z zestawu STM32. 

Jednakże po zaprogramowaniu GPIO mam błedy w kodzie.

W załączeniu podsyłam pliki projektu.

Czy mógłby ktoś rzucic okiem na to i wytłumaczyć co jest powodem błędów?

Linijka LED.zip

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