Skocz do zawartości

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


Pomocna odpowiedź

Witam serdecznie

niestety mam problem z wgraniem programu komunikaty sugerują że niby wszystko jest okej "Download verified successfully " i większość rzeczy dzieje się tak jest to opisane w kursie jednak dioda po wciśnięciu f8 nie miga. Breakpoint nie ustawia się w pliku main.c tylko w pliku stm32l4xx_it.c w pierwszej linijce tej funkcji:

void HardFault_Handler(void)
{
  /* USER CODE BEGIN HardFault_IRQn 0 */

  /* USER CODE END HardFault_IRQn 0 */
  while (1)
  {
    /* USER CODE BEGIN W1_HardFault_IRQn 0 */
    /* USER CODE END W1_HardFault_IRQn 0 */
  }
}

podejrzewam że tutaj też powinno to inaczej wyglądać

image.thumb.png.cff0d88f7a4f5ff90b92286ef233ee16.png

 Z góry dziękuję za jakikolwiek sugestie które mogą mi pomóc rozwiązać problem.

 

Dnia 29.05.2021 o 15:04, Frantick napisał:

Czy zakaz zmiany programu ogranicza sie tylko do tych 4 linijek w petli while? czy np. zmiana w enumie GPIO_PinState jest uznawana za zmiane w programie?

@Frantick w tym przypadku chodzi o takie rozwiązanie, które zupełnie nie wymaga żadnych zmian w programie (tylko w sprzęcie) 🙂

@dexu nie masz zarejestrowanego zestawu do tego kursu, więc zapytam dla pewności - czy korzystasz z tej samej płytki, która jest używana w kursie? Który dokładnie program uruchamiasz? Mowa o pierwszym miganiu diodą za pomocą HAL_GPIO_TogglePin oraz HAL_Delay? Czy tworzysz projekt dokładnie tak jak jest to opisane w kursie?

6 godzin temu, Treker napisał:

@dexu nie masz zarejestrowanego zestawu do tego kursu, więc zapytam dla pewności - czy korzystasz z tej samej płytki, która jest używana w kursie? Który dokładnie program uruchamiasz? Mowa o pierwszym miganiu diodą za pomocą HAL_GPIO_TogglePin oraz HAL_Delay? Czy tworzysz projekt dokładnie tak jak jest to opisane w kursie?

 

Faktycznie nie zarejestrowałem zestawu ale zapewniam że jest ten sam. Mimo wszystko problem rozwiązany przeinstalowałem środowisko i już działa. Przy okazji dziękuję za wasze kursy, z kursem arduino napisałem swój pierwszy program, z kursem budowy robotów zbudowałem pierwszego robota a zarchiwizowany już kurs stm32F4 pomógł mi przy pracy inżynierskiej więc jeszcze raz dzięki Panowie.

  • Lubię! 1
  • 4 tygodnie później...

Zastanawiałem się nad rozwiązaniem zadania 1, ale jedyne rozwiązanie, które mi przychodzi do głowy, to użycie tranzystora, jako inwertera sygnału.
Jednak w zestawie nie mamy do dyspozycji tranzystorów, więc nie wiem, czy autor miał na myśli takie rozwiązanie xD

@Ceneusz można to rozwiązać znacznie prościej 🙂 Zastanów się co "dzieje się" na pinie mikrokontrolera, gdy jest tam logiczna jedynka, a co w przypadku zera.

  • 1 miesiąc później...

Witam

Kurs zapowiada się bardzo obiecująco ale mam zastrzeżenie, mruganie diodami oparte jest na "delay" a co w przypadku kiedy mikro kontroler powinien w tym czasie wykonywać jakieś obliczenia lub pomiary 500ms razy 10 diod daje 5 sekund zmarnowanego czasu, moim zdaniem powinno być ostrzeżenie o stosowaniu takiego rozwiązania i przynajmniej w zarysie podana alternatywa która w dalszej części powinna zostać rozwinięta

@APJ witam na forum 🙂 

Zachęcam do dalszej lektury kursu i zapoznania się w szczególności z materiałami dotyczącymi przerwań. Kurs pokazuje różne metody i im dalej tym pokazane są bardziej wyrafinowane sposoby.

Nie twierdzę że Delay jest czystym złem a wręcz czasami jest najprostszą i najwygodniejszą drogą np.przy inicjalizacji, ale pamiętam swoje początki z kursów w których nikt nie wspominał że w ten sposób zamulam procesor, dlatego wtrąciłem swoją uwagę o tym że powinno się wspomnieć o takiej przypadłości czyli wadach i zaletach przedstawianych rozwiązań

  • Lubię! 1

@APJ jasne, rozumiemy - mieliśmy to na uwadze podczas tworzenia kursu, dlatego w dalszych częściach (w raz opisywaniem kolejnych zagadnień i peryferiów tego mikrokontrolera) znajdziesz więcej informacji na ten temat. W przypadku tej (początkowej) części kursu po prostu specjalnie nie zajmowaliśmy się szerzej tym zagadnieniem, bo i tak nie moglibyśmy na tym etapie pokazać jeszcze innych rozwiązań. Mam nadzieję, że po lekturze całego kursu temat ten nie będzie już nikomu sprawiał problemów 🙂

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

Cześć,
 

Proszę Pana redaktor-a aby dopisał wewnątrz treści akapitu "Podłączenie diody zewnętrznej", przy zdaniu "Dodajemy kolejny pin, który będzie skonfigurowany jako wyjście" słowo : GPIO_Output . Przy PC13 było wejście typu Input, z rozpędu i przy szybkim czytaniu łatwo to pominąć i potem szukać "why ?"

  • Lubię! 1
  • 4 tygodnie później...

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