Komentator Napisano Styczeń 31, 2018 Udostępnij Napisano Styczeń 31, 2018 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. Cytuj Link do komentarza Share on other sites More sharing options...
SOYER Styczeń 31, 2018 Udostępnij Styczeń 31, 2018 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... Cytuj Link do komentarza Share on other sites More sharing options...
Herbert Styczeń 31, 2018 Udostępnij Styczeń 31, 2018 Myślę że bardzo pomocnym w zrozumieniu tematu i przykładów byłby dodatkowy odcinek poświęcony architekturze mikrokontrolera. Cytuj Link do komentarza Share on other sites More sharing options...
Elvis Styczeń 31, 2018 Udostępnij Styczeń 31, 2018 Herbert, co dokladniej masz na myśli? Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Treker (Damian Szymański) Luty 1, 2018 Udostępnij Luty 1, 2018 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 😉 Cytuj Link do komentarza Share on other sites More sharing options...
DariuszC Luty 6, 2018 Udostępnij Luty 6, 2018 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 Cytuj Link do komentarza Share on other sites More sharing options...
dejmieno Luty 16, 2018 Udostępnij Luty 16, 2018 Może w ramach tego kursu pojawi się jakiś artykuł na temat jak przenieść później projekt z płytki Nucleo na docelową platformę? Cytuj Link do komentarza Share on other sites More sharing options...
marek1707 Luty 16, 2018 Udostępnij Luty 16, 2018 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 Cytuj Link do komentarza Share on other sites More sharing options...
dejmieno Luty 16, 2018 Udostępnij Luty 16, 2018 No w sumie racja. A w przypadku gotowych tanich modułów STM32F103 jest możliwość programowania poprzez płytkę Nucleo? Cytuj Link do komentarza Share on other sites More sharing options...
Elvis Luty 16, 2018 Udostępnij Luty 16, 2018 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. Cytuj Link do komentarza Share on other sites More sharing options...
dejmieno Luty 16, 2018 Udostępnij Luty 16, 2018 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. Cytuj Link do komentarza Share on other sites More sharing options...
Elvis Luty 16, 2018 Udostępnij Luty 16, 2018 To są właśnie klony bluepill - sprawdź ich cenę na aliexpress to zobaczysz że te które podlinkowałeś wcale nie są tanie 😉 Cytuj Link do komentarza Share on other sites More sharing options...
dejmieno Marzec 21, 2018 Udostępnij Marzec 21, 2018 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ę? Cytuj Link do komentarza Share on other sites More sharing options...
dzami97 Kwiecień 3, 2018 Udostępnij Kwiecień 3, 2018 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? Cytuj Link do komentarza Share on other sites More sharing options...
Popularny post dejmieno Kwiecień 4, 2018 Popularny post Udostępnij Kwiecień 4, 2018 Cześć dzami97. Rozczytałem dokumentacje i okazuje się że HAL domyślnie zaraz po resecie ustawia taktowanie szyn AHB i APB z wewnętrznego oscylatora HSI którego częstotliwość wynosi 8MHZ. Żeby wycisnąć 64MHZ należy skonfigurować prescaler HSI na 2 i mnożnik pętli PLL na 16 dzięki czemu uzyska się częstotliwość 64MHZ. Poniżej wklejam kod konfiguracji: Ostrzegam, że w STM32F1 jestem początkujący i sama konfiguracja może nie być doskonała, ale ogólnie wszystko działa 😉. RCC_OscInitTypeDef osc; osc.OscillatorType = RCC_OSCILLATORTYPE_HSI; osc.HSEState = RCC_HSE_OFF; osc.HSIState = RCC_HSI_ON; osc.HSICalibrationValue = 16; osc.PLL.PLLState = RCC_PLLSOURCE_HSI_DIV2; osc.PLL.PLLMUL = RCC_PLL_MUL16; HAL_RCC_OscConfig(&osc); RCC_ClkInitTypeDef clk; clk.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2; clk.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; clk.AHBCLKDivider = RCC_SYSCLK_DIV1; clk.APB1CLKDivider = RCC_HCLK_DIV2; clk.APB2CLKDivider = RCC_HCLK_DIV1; HAL_RCC_ClockConfig(&clk, FLASH_LATENCY_2); SystemCoreClockUpdate(); HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq() / 1000); HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK); 3 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!