Skocz do zawartości

Programowanie STM32F103C8T6 przez UART


Pomocna odpowiedź

Napisano

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)

@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

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.

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.

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?

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

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 🙂

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