Skocz do zawartości
Komentator

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

Pomocna odpowiedź

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.

Udostępnij ten post


Link to post
Share on other sites

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

Udostępnij ten post


Link to post
Share on other sites

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

Udostępnij ten post


Link to post
Share on other sites

Herbert, co dokladniej masz na myśli?

Udostępnij ten post


Link to post
Share on other sites

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 😉

Udostępnij ten post


Link to post
Share on other sites

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

Udostępnij ten post


Link to post
Share on other sites

Może w ramach tego kursu pojawi się jakiś artykuł na temat jak przenieść później projekt z płytki Nucleo na docelową platformę?

Udostępnij ten post


Link to post
Share on other sites

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

Udostępnij ten post


Link to post
Share on other sites

No w sumie racja.

A w przypadku gotowych tanich modułów STM32F103 jest możliwość programowania poprzez płytkę Nucleo?

Udostępnij ten post


Link to post
Share on other sites

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.

Udostępnij ten post


Link to post
Share on other sites

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.

Udostępnij ten post


Link to post
Share on other sites

To są właśnie klony bluepill - sprawdź ich cenę na aliexpress to zobaczysz że te które podlinkowałeś wcale nie są tanie 😉

Udostępnij ten post


Link to post
Share on other sites

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ę?

Udostępnij ten post


Link to post
Share on other sites

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?

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...