Skocz do zawartości

Kurs STM32 F1 HAL - #4 - sterowanie GPIO w praktyce


Pomocna odpowiedź

Napisano
html_mig_img
W poprzedniej części kursu STM32 nauczyliśmy się tworzyć projekt, kompilować oraz uruchamiać prosty program. Niestety był on mało atrakcyjny, bo nie komunikował się ze światem zewnętrznym.Czas więc poznać okno na świat każdego układu, czyli uniwersalne porty wejścia/wyjścia (GPIO).

UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

Wydaje mi się, czy w 8 sekundzie filmu z linijką diod led jest jakiś błąd, widać, że sygnał wraca na ułamek sekundy z diody 8 na 7 licząc od góry, później już jest ok... Chyba że film był montowany...

Myślę że bardzo pomocnym w zrozumieniu tematu i przykładów byłby dodatkowy odcinek poświęcony architekturze mikrokontrolera.

SOYER, słusznie - faktycznie coś tam jest nie tak. Film ten powstawał dawno temu, więc nie pamiętam już czy był montowany. Obstawiam raczej błąd przy kompresji i eksporcie projektu wideo 😉

Witam

Nucleo-F103RB bez problemu działa na 72MHz o ile jest w całości z programatorem. Wtedy z niego idzie sygnał taktujący 8MHz do głównego modułu.

W CubeMX trzeba wybrać RCC->High Speed Clock (HSE) -> Bypass Clock Source.

Zresztą w schemacie do Nucleo jest to połączenie.

Natomiast po rozdzieleniu to już tylko HSI lub trzeba wlutować kwarc wraz z kondensatorami.

Pozdrawiam

  • 2 tygodnie później...

A co miałoby być tą "docelową platformą"? Jeśli jakaś Twoja własna płytka, to ściągasz dokumentację do posiadanego Nucleo, oglądasz jego schemat, notujesz z jakich jej zasobów korzystasz (zasilania, kwarce, gniazda interfejsów) a co musisz mieć na zewnątrz (programator/debugger JTAG?), czytasz dokument o wymaganiach sprzętowych wybranego procesora (przykład poniżej) oraz wnikliwie studiujesz jego datasheet i rysujesz własny projekt. Żaden artykuł elektronika z Ciebie w jeden dzień nie zrobi.

http://www.st.com/content/ccc/resource/technical/document/application_note/76/f9/c8/10/8a/33/4b/f0/DM00115714.pdf/files/DM00115714.pdf

dejmieno, nie wiem o jakie moduły Ci chodzi, jeśli bluepill to jak najbardziej można używać programatora z nucleo do pracy z nimi.

Chodzi mi o tanie moduły np. jak ten: http://allegro.pl/modul-stm32f103c8t6-arm-stm32-cortex-m3-i7164942766.html

Szkoda mi marnować płytki Nucleo na jakieś małe projekty, więc szukam rozwiązania dobrego dla początkujących.

Pomysł ze zrobieniem własnej płytki Nucleo jest fajny ale rodzi problemy jak np. lutowanie SMD na płytce uniwersalnej. Chociaż widziałem przejściówki SMD - DIP 🙂. Ciekawe czy to się sprawdza.

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

Mam pytanie co do konfiguracji SystemCoreClock. Dlaczego ustawiamy SystemCoreClock na 8Mhz a w kursie z STD Periph ustawialiśmy taktowanie na 64Mhz? Czyżby HAL ustawiał domyślne taktowanie zegara?

-- edit

Ok, rozczytałem się co nieco na ten temat w dokumentacji i dowiedziałem się że procesor może posiadać taktowania z kilku źródeł np. HSI czyli taktowanie z wewnętrznego zegara 8Mhz, lub może być taktowany z wewnętrznego źródła z pętlą PLL. Czyli jeśli dobrze rozumiem to w STL domyślnie konfiguruje multiplication factor - 8 dla wewnętrznego zegara i dzięki temu otrzymujemy taktowanie 64Mhz. Pytanie dlaczego HAL tego nie robi?

Czy dobrze kombinuję?

  • 2 tygodnie później...

Podpinam się do pytania kolegi dejmieno. Czy biblioteka HAL zmienia konfiguracje zegarów? Czy może jest to kwestia podłączenia niskiej częstotliwości przy konfiguracji pinu?

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