Skocz do zawartości
miszczu18

Programowanie STM32F103C8T6 przez UART

Pomocna odpowiedź

Cześć. Chciałbym użyć STM32F103C8T6 w swoim robocie ale nie za bardzo wiem jak programować sam mikrokontroler, który nie znajduje się na żadnej płytce (np. Discovery). Czy wystarczy, że posłużę się częściowo materiałami z tej lekcji https://forbot.pl/blog/kurs-stm32-f4-12-programowanie-przez-bootloader-id13478 (podłączenie i sposób wgrywania) i będę mógł wgrać program przez UART? Chciałbym ten program zrobić w oparciu o STM32 Standard Peripheral Libraries dlatego odrzuciłem wykorzystanie Blue Pill (znalazłem informacje, że programuje się to jak Arduino)

Udostępnij ten post


Link to post
Share on other sites

@miszczu18 raczej nie polegałbym na materiałach do F4 podczas nauki programowania F1. Zapytam przewrotnie... dlaczego w takim razie nie skorzystasz z kursu STM32 F1? Kurs STM32 F1, migracja na HAL – #1 – wstęp, spis treści Tak samo skąd pomysł na SPLib? To już dość stare, przestarzałe podejście. Jeśli teraz zaczynasz to warto zająć się HALem.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Ogólnie to szukałem poprostu jak zaprogramować sam mikrokontroler i natknąłem się na tamtą lekcje. No i w sumie faktycznie HAL byłby lepszy do mojego projektu 

Aktualizacja:

Macie może jakieś rady jak się programuje (goły) STM32? Chodzi o podłączenie i ewentualne programy.

Udostępnij ten post


Link to post
Share on other sites
Dnia 21.03.2019 o 14:03, miszczu18 napisał:

Macie może jakieś rady jak się programuje (goły) STM32? Chodzi o podłączenie i ewentualne programy.

Jak opanujesz podstawy programowania ze wspomnianego kursu to nie będziesz miał raczej problemu z napisaniem kodu. Jeśli chodzi o wykorzystanie gołego układu to nie jest to zbyt trudne. Robisz n PCB minimalne podłączenie z zgodnie z notą katalogową i "jedziesz" 🙂 Jako programator można wykorzystać Nucleo lub można programować układ też przez bootloader.

Udostępnij ten post


Link to post
Share on other sites

Nie wiem czy dobrze zrozumiałem to co znalazłem. W moim przypadku jeśli chcę załadować program przez Bootloader to muszę ustawić Boot0 na 0,  z konwertera USB->UART podpiąć się RX-USART1 TX, TX-USART1 RX . Mas konwertera i mikrokontrolera nie muszę łączyć czyli wystarczą tylko 2 kable czy powinienem je połączyć? Po wgraniu programu, żeby program działał to muszę ustawić Boot0 na 1?

Udostępnij ten post


Link to post
Share on other sites
9 godzin temu, miszczu18 napisał:

Mas konwertera i mikrokontrolera nie muszę łączyć czyli wystarczą tylko 2 kable czy powinienem je połączyć?

Zawsze trzeba łączyć masy. Napięcie to różnica potencjałów między dwoma punktami. Bez wspólnej masy układy nie mają wspólnego punktu odniesienia, więc nie mogą określić poziomów logicznych.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

A reszta się zgadza? Ten Boot0 po zaprogramowaniu mam zmienić jakoś z 0 czy może zostać na 0?

Udostępnij ten post


Link to post
Share on other sites

Dawno tego nie używałem i piszę z pamięci, ale czy przypadkiem wgrywanie przez UART nie było inicjowane konfiguracją BOOT0=1, BOOT1=0, a później nie ustawiało się BOOT0=0 i restartowało układ, aby ruszył nowy program? Sprawdź dla pewności w dokumentacji 🙂

Udostępnij ten post


Link to post
Share on other sites

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

×