Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

STM32 Blue Pill - alternatywa dla Arduino

ghost666 14 Mar 2019 14:30 14079 58
Computer Controls
  • STM32 Blue Pill - alternatywa dla Arduino
    Każdy lubi Arduino, od najmniejszych modułów na Attiny85 po największe moduły oparte na mikrokontrolerach MEGA2560. Niestety, mają one swoje ograniczenia - jeśli potrzebujemy więcej mocy obliczeniowej, wyższej precyzji czy większej liczby wejść analogowych, to nie mamy zbyt wielkiego wyboru w rodzinie Arduino... Jest jednak pewne eleganckie wyjście, które sprawi, że wcale nie musimy opuszczać tego ekosystemu.

    Istnieje płytka kompatybilna z Arduino nano z mikrokontrolerem z rodziny STM32 - Blue Pill (ang. niebieska pigułka, od koloru PCB). Niestety - jest tutaj pewien haczyk - nie można jej programować przez USB, ponieważ układ na niej nie posiada preprogramowanego bootloadera (to taki niewielki program, który działa trochę jak system operacyjny na mikrokontrolerze i pozwala wgrywać oprogramowanie przez USB.

    W poniższej instrukcji dowiemy się, jak w prosty sposób wgrać do układu bootloader, kompatybilny z Arduino, dzięki czemu będziemy mogli programować te układy z Arduino IDE, jak każdy inny moduł z tego ekosystemu.

    STM32 Blue Pill - alternatywa dla Arduino
    STM32 Blue Pill - alternatywa dla Arduino
    Krok 1: Co będzie nam potrzebne

    Potrzebujemy oczywiście samej płytki - można ją kupić na eBay, AliExpress czy Allegro.

    Oprócz samego modułu potrzebujemy także konwertera USB do UART TTL, aby wgrać pierwszy program - bootloader - do pamięci mikrokontrolera. Przykładowy konwerter pokazano na zdjęciu w artykule. W zasadzie każdy konwerter się nada.

    Finalnie, potrzebujemy oczywiście kabelków, by podłączyć kontroler do modułu, ale to coś, co każdy miłośnik Arduino na pewno posiada w swoim warsztacie.

    Krok 2: Konfiguracja Arduino IDE

    Zanim zaczniemy podłączać i programować Blue Pill poprzez Arduino IDE, musimy zrobić kilka prostych rzeczy. Po pierwsze - musimy załadować dane konfiguracyjne dla tego układu do naszego środowiska. W tym celu naciskamy w Arduino IDE na File i wybieramy menu Preferences. Otworzy się nowe okienko, w którym musimy znaleźć ikonkę z opisem "Additional Boards Manager URLs:" Tam dodajemy link do pliku konfiguracyjnego dla STM32: http://dan.drown.org/stm32duino/package_STM32duino_index.json.

    Jeśli tutaj już coś się znajduje, to po prostu dodajmy kolejny wpis w nowej linii. Możemy teraz zamknąć Arduino IDE i ponownie je uruchomić. Teraz wybieramy w menu Tools zakładkę boards i Board Manager (jest pierwszy na liście). W okienku "Filter your search..." wpisujemy stm32f1, aby przefiltrować dostępne opcje. Powinien być jeden rezultat wyszukiwania. Gdy odnajdziemy poprawny sterownik, możemy w niego kliknąć, by zainstalować go w naszym IDE. Po tym możemy już wyłączyć Arduino IDE - jego konfiguracja jest zakończona.

    STM32 Blue Pill - alternatywa dla Arduino


    STM32 Blue Pill - alternatywa dla Arduino
    STM32 Blue Pill - alternatywa dla Arduino
    Krok 3: Sterowniki

    Po podłączeniu Blue Pill do komputera Windows nie będzie wykrywał automatycznie tego urządzenia, konieczna jest instalacja sterowników. To też bardzo prosty proces. Zaczynamy od pobrania sterowników. Znajdują się one tutaj.

    Po wejściu w repozytorium, naciskamy na zielony przycisk "Clone or Download" i wybieramy "Download ZIP". Po jego pobraniu ściągamy paczkę i kopiujemy do folderu z Arduino IDE. Jeśli zainstalowaliśmy oprogramowanie w domyślnej lokalizacji, znajdziemy je w C:\Program files(x86)\Arduino. Znajdujemy bądź tworzymy tam folder pod nazwą "hardware" i kopiujemy tam plik "Arduino_STM32-master" z pobranego pliku ZIP. Zmieńmy jego nazwę na Arduino_STM32.

    Na tym etapie przygotowanie oprogramowania jest prawie gotowe. Czeka nas tylko jeszcze jeden krok.

    STM32 Blue Pill - alternatywa dla Arduino
    Krok 4: Wgrywanie bootloadera

    Musimy wgrać bootloader. W tym celu potrzebujemy dwóch rzeczy - program udo ładowania firmware do STM32, który pobrać można tutaj (trzeba zarejestrować się na stronie i będzie można go pobrać) oraz samego bootladera w binarnej postaci, który znajdziemy w tym repozytorium. Wybieramy plik "generic_boot_pc13.bit" i po prostu go ściągamy.

    Teraz mamy wszystko, co jest nam potrzebne. Musimy podłączyć konwerter USB-UART do Blue Pill i go załadować. Połączenia są bardzo proste, tak jak opisano je w tabeli:





    Konwerter USB UARTBlue Pill
    TXA10
    RXA9
    VCC3,3 V
    masaGND


    Ustawiamy ponadto najwyżej znajdującą się zworkę na module z STM32 w prawej pozycji. Możemy teraz podłączyć konwerter do portu USB w komputerze.

    Teraz możemy zainstalować oprogramowanie, które pobraliśmy. Wystarczy kliknąć w ściągnięty instalator i postępować zgodnie z instrukcjami. Po jego uruchomieniu w programatorze powinno być widać nowy port COM. Jeśli w naszym systemie się on nie pojawił, to trzeba sprawdzić wszystkie połączenia w naszym układzie i uruchomić program ponownie.

    Po poprawnym wykryciu portu COM, klikamy "Next" trzy razy, aż w końcu dojdziemy do okienka, w którym możemy wybrać opcję "Download to device". Wybieramy tam opcję "Download from file", i lokalizujemy pobrany wcześniej plik bootloadera. Następnie klikamy OK i ponownie "Next". Program automatycznie zainstaluje nowy firmware. Można teraz załadować program, ale nie można jeszcze odłączać płytki od komputera.

    Najpierw przekładamy górną zworkę z powrotem w lewą pozycję, tak że obie zworki są w pozycji zero. Teraz możemy wszystko rozłączyć.

    STM32 Blue Pill - alternatywa dla Arduino
    STM32 Blue Pill - alternatywa dla Arduino
    Krok 5: Pierwszy program

    Możemy teraz podłączyć Blue Pill do komputera i uruchomić Arduino IDE. W menu Boards wybieramy "Generic STM32F103C series". Następnie wybieramy opcję ładowania programu - "STM32duino bootloader", gdzie jako port podajemy "COMX (Maple Mini)" gdzie X to numer, jaki nasz komputer przyporządkował nowemu portowi szeregowemu.

    Teraz Blue Pill jest rozpoznawany jako Maple Mini. Możemy zacząć pisać i ładować do układu szkice w Arduino IDE.

    Pierwszy program nie musi być niczym szczególnym. By sprawdzić poprawność montażu naszej instalacji, wystarczy skompilować i wgrać pusty, domyślny szkic składający się z setupu i pętli. Możemy dodatkowo dorzucić do niego Serial.print, aby sprawdzić na 100%, że układ poprawnie działa. Poniżej znajduje się kod tego przykładowego programu, który możemy skopiować do Arduino IDE.

    Program ten będzie wysyłał poprzez port szeregowy powitalny napis w pętli. Możemy go odczytać korzystając z wbudowanego w Arduino IDE monitora portu szeregowego.

    Code: c
    Log in, to see the code


    I gotowe! Teraz możesz przystąpić do korzystania z modułu z STM32 tak samo jak ze zwykłym Arduino.

    Źródło: https://www.instructables.com/id/Programming-STM32-Blue-Pill-Via-USB/

    Cool? Ranking DIY
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
    About Author
    ghost666
    Translator, editor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 wrote 11595 posts with rating 9800, helped 157 times. Live in city Warszawa. Been with us since 2003 year.
  • Computer Controls
  • #2
    fotomh-s
    Level 24  
    Dzisiaj właśnie przyszła do mnie ww. płytka (druga, pierwszą kupiłem na Alle) po 2 miesiącach czekania, cena <7zł z wysyłką z Chin, na Alle chodzą za 14zł + wysyłka.
    Generalnie chciałem rozwiać kilka budzących wątpliwości spraw:

    Pierwsza to ilość pamięci FLASH, deklarowana przez sprzedawców jako 64k w praktyce zwykle ma 128k (tyle pokazuje bootloader).

    Kolejną zgłaszaną sprawą jest zła wartość rezystora podciągającego dla USB, w moim przypadku USB klient działa, udało się emulować pijaną mysz :-P Możliwe że wersja którą dostałem ma poprawną wartość tego rezystora albo komputer zwyczajnie toleruje niepoprawną wartość.

    Moja płytka przyszła zablokowana, nie dało się jej zaprogramować zaraz po przylutowaniu pinów i podłączeniu pod UART (bootloader pokazywał błąd). Konieczne okazało się pobranie bootloader demonstratora od STM, on umożliwił wyczyszczenie i odblokowanie scalaka, po tym zabiegu nie miałem żadnych problemów z bootloaderem. Mam oczywiście na myśli wbudowany bootloader (działa przez UART), osobiście nie korzystam z bootloadera USB.
  • #3
    tmf
    Moderator of Microcontroller designs
    ghost666 wrote:
    Każdy lubi Arduino, od najmniejszych modułów na Attiny85 po największe moduły oparte na mikrokontrolerach MEGA2560. Niestety, mają one swoje ograniczenia - jeśli potrzebujemy więcej mocy obliczeniowej, wyższej precyzji czy większej liczby wejść analogowych, to nie mamy zbyt wielkiego wyboru w rodzinie Arduino... Jest jednak pewne eleganckie wyjście, które sprawi, że wcale nie musimy opuszczać tego ekosystemu.

    Teza, że każdy lubi Arduino jest co najmniej ryzykowna :)
    Ale merytorycznie - od lat dostępna jest wersja Arduino z ARM - są wersje z Atmelowskimi SAMD. Ale jakoś nie zdobyły popularności. Dlaczego? Bo można sobie i owszem wgrać arduinowy bootloader, można odpalić niby to samo środowisko, tyle, że większość tzw. "szkiców" już nie działa. I tu jest problem, bo osoby początkujące, albo słabo obeznane z mikrokontrolerami sobie już z tym nie radzą. Więc z tego samego powodu inne próby przeszczepienie ARM do Arduino raczej są skazane na niepowodzenie. Zresztą różne próby wpuszczenia STMów w świat Arduino też są od dawna i takich płytek jest od groma. I co? I nic.
  • #4
    fotomh-s
    Level 24  
    Ja jakoś zauważyłem sporą popularność płytki blue pill. Moim zdaniem udana konstrukcja ze względu na stosunek cena/możliwości. Co do nauki kodu to jest to moja pierwsza płytka pod arduino i nie miałem problemu z wystartowaniem i napisaniem kodu dla kalkulatora programowalnego RPN extended. Generalnie więc nie zgodzę się że początkujący w arduino mają z tym problem. Wcześniej korzystałem z Bascom AVR, przesiadka więc całkiem spora.
    W zasadzie to płytkę kupiłem celem budowy kalkulatora (AVRy które miałem niezbyt się nadawały), teraz już chodzą mi po głowie kolejne projekty.
  • #5
    khoam
    Level 41  
    tmf wrote:
    Bo można sobie i owszem wgrać arduinowy bootloader, można odpalić niby to samo środowisko, tyle, że większość tzw. "szkiców" już nie działa. I tu jest problem, bo osoby początkujące, albo słabo obeznane z mikrokontrolerami sobie już z tym nie radzą. Więc z tego samego powodu inne próby przeszczepienie ARM do Arduino raczej są skazane na niepowodzenie.


    Płytki z STM32 są w tej chwili bardzo dobrze wspierane w środowisku PlatformIO (Linux/Windows), nawet lepiej niż AVR.
    Arduino HAL ma również bardzo dobre wsparcie w PIO, więc jeżeli ktoś chce trochę na poważniej popracować z STM32 oraz Arduino HAL, to powinien po prostu unikać Arduino IDE.

    Co do nie działania "szkiców" to trudno mi się wypowiedzieć, ale pracuję na co dzień nad oprogramowaniem, który jednocześnie mogę kompilować do AVR, ESP32 czy STM32, właśnie dzięki Arduino HAL i PIO, z nieznacznymi sekcjami dyrektyw warunkowych dla poszczególnych architektur (tego się nigdy nie da uniknąć).

    Projekt STM32duino rozwija się całkiem dobrze i dynamicznie, podobnie jak Arduino HAL dla ESP32. Życzyłbym zwolennikom AVR, aby dla tych procesorów rozwój był również dynamiczny, bo od kilku lat jest zastój w zakresie wsparcia dla Arduino HAL.

    Płytki Arduino z SAMD od samego początku to chyba było jakieś drobne nieporozumienie - cena oraz funkcjonalność nieakceptowalna przez amatorów/hobbystów w porównaniu z STM32 czy ESP. Tu mogę się zgodzić, że próba przeszczepienia atmelowskich ARM do Arduino, to fiasko.
  • Computer Controls
  • #6
    fotomh-s
    Level 24  
    Ja uważam że STMy stają się coraz głębiej wbitym gwoździem do trumny AVRów jeśli chodzi o amatorskie zastosowania. Generalnie to różnice bardzo duże jeśli chodzi o funkcjonalność i atrakcyjne ceny zwyczajnie deklasują AVRy. ZTCP to jeśli chodzi o płytki z atmelowskimi ARM vs STMowe ARM to te od ST wychodzą chyba taniej jeśli porównamy płytki o podobnych możliwościach (ZTCP w cenie Arduino DUE można mieć płytkę na rdzeniu M4, chyba z FPU). Do tego widziałem już na Ali chińskie podróbki STMów (aktualnie jako gołe scalaki, płytek z nimi nie widziałem), były jeszcze tańsze niż oryginalne (które i tak już są tanie). Chińczycy zwyczajnie ubili AVRy jak prosiaka ;-)

    Jako ciekawostkę podam że kwarc dla RTC w praktyce ma około 38kHz. Można z niego zrobić stoper (najlepiej jak działa bez prescalera, wtedy można mierzyć bardzo krótkie czasy), jest on podpięty pod 32 bitowy licznik więc nie ma raczej problemów z przepełnieniem.

    Kolejną ciekawostką jest możliwość bateryjnego podtrzymania rejestrów, RAMu oraz chyba także RTC. Osobiście nie testowałem, ale płytka ma wyprowadzony pin VBAT dla baterii podtrzymującej (może być i superkondensator).
  • #7
    miszczo997
    Level 28  
    Kolejną ciekawostką jest to, że najprawdopodobniej procesory montowane przez Chińczyków w blue pilach to nie są oryginalne procesory od STMicroelectronics - stm32f103c8t6 lecz malowanki procesorów GigaDevice gd32f103c8t6, które są między sobą kompatybilne (GigaDevice deklaruje większą prędkość taktowania dla swoich procesorów). Tutaj więcej informacji jak rozpoznać z którym procesorem mamy do czynienia https://smdprutser.nl/blog/stm32f103-vs-gd32f103-round-2-blink-a-led/ Sam tego nie testowałem, ale jestem ciekawy, czy to prawda.

    fotomh-s wrote:
    Pierwsza to ilość pamięci FLASH, deklarowana przez sprzedawców jako 64k w praktyce zwykle ma 128k (tyle pokazuje bootloader).

    Zwróć uwagę jaki dokładnie procesor masz wlutowany w płytkę. Widziałem 2 wersje tych płytek:
    1. STM32F103C8T6 - 64kB flash
    2. STM32F103CBT6 - 128kB flash
  • #8
    ghost666
    Translator, editor
    miszczo997 wrote:
    Kolejną ciekawostką jest to, że najprawdopodobniej procesory montowane przez Chińczyków w blue pilach to nie są oryginalne procesory od STMicroelectronics - stm32f103c8t6 lecz malowanki procesorów GigaDevice gd32f103c8t6, które są między sobą kompatybilne (GigaDevice deklaruje większą prędkość taktowania dla swoich procesorów). Tutaj więcej informacji jak rozpoznać z którym procesorem mamy do czynienia https://smdprutser.nl/blog/stm32f103-vs-gd32f103-round-2-blink-a-led/ Sam tego nie testowałem, ale jestem ciekawy, czy to prawda.


    Dokładnie tak - pisałem o tym jakiś czas temu: https://www.elektroda.pl/rtvforum/topic3552273.html Niebawem mamy w planach testować ten układ pod kątem ewentualnych różnic.
  • #10
    rb401
    Level 38  
    ghost666 wrote:
    Tam dodajemy link do pliku konfiguracyjnego dla STM32: http://dan.drown.org/stm32duino/package_STM32duino_index.json.


    Tu w tym temacie tzn. STM32 programowany platformą Arduino, akurat panuje pewne zamieszanie.

    Ta paczka podpisana Dan Drown, którą w tłumaczonym przez Ciebie tekście należy wpisać do preferencji, jest określana jako "nieoficjalna" i jest szczerze mówiąc nieco przestarzała. Co prawda w kwestii Blue Pill i Maple dużo się nie zmienia. Tak że będzie działać.

    Ale trzy lata temu STM wystartował ze swoją oficjalną paczką do STM32, początkowo zorientowaną na swoje płytki ale z czasem uzupełnioną o np. Blue Pill, Maple itd. .
    Instrukcja do instalacji paczki z STM:
    https://github.com/stm32duino/wiki/wiki/Getting-Started

    Ta paczka z STM ma wiele zalet wobec tej nieoficjalnej. M.in. obsługuje chyba wszystkie płytki STM (Nucleo, Discovery) z różnych rodzin, nawet stosunkowo nowsze, np. F7, H7.
    Ma też wydajniejszy kod. Przykładowo w implementacji digitalWrite używa wywołań biblioteki LL (a nie HAL jak ta druga). Czyli ruszanie pinami będzie tu bardzo szybkie.
    Dodatkowo istnieje opis jak własnoręcznie dołożyć do swojego Arduino dowolny kontroler STM32 czy płytkę.

    Ale z drugiej strony, tu ściśle w świetle tematu ładowania programu do Blue Pill prosto na jego USB przy pomocy bootloadera z Maple mini, to nie jestem pewien czy jest akurat tak łatwe jak tu w tym opisie, choć obsługa Maple mini jakaś tam jest i jest opcja serial (choć tu nie wiem czy chodzi o fabryczny bootloader czy ten z Maple mini).

    W każdym razie jeśli ktoś chce używać STM32 pod Arduino a przykładowo używa STlinka czy podobnego sposobu, to polecałbym uwadze raczej tą paczkę z STM.
  • #11
    tronics
    Level 38  
    @rb401 - nie wiem jak z tymi paczkami, ale w PIO musiałem użyć starszych do kompilacji mysensors bo nowsze nie działały (i właśnie wypluwało coś z LL). Pamiętam że pierwszy raz kompilowałem jeszcze w arduino ide i z paczką Dana więc coś jest na rzeczy. Zatem już w obrębie stm32duino jest jakaś niekompatybilność między wersjami. Ale w PIO łatwo się tym zarządza.
  • #12
    rb401
    Level 38  
    tronics wrote:
    musiałem użyć starszych do kompilacji mysensors bo nowsze nie działały


    Bardzo możliwe, bo jak rzuciłem okiem do źródeł mysensors to widzę że są tam wariantowe moduły dotyczące podstawowych funkcji sprzętowych (np. użycie digitalWrite lub digitalWriteFast ) zależne od architektury (np. AVR, STM32F1), które mogły być pisane pod konkretne istniejące biblioteki.
    Dlatego może się coś nie zgadzać, ale nie w sensie że jest błąd a po prostu inne rozwiązanie organizacyjne w bibliotekach. Przykładowo paczka Dana pierwotnie była tylko pod F1 (i tylko pod tą jedną rodzinę jest właściwie wariant mysensors) a paczka STM obsługuje wszystkie rodziny. I możliwe że jakieś warunkowe fragmenty w mysensors, nieprawidłowo są przełączane.
    Tak że możliwe że używając innej paczki do STM32, trzeba by jednak jakiś zmian w mysesors, właśnie w tej warstwie zależnej od architektury.
  • #13
    fotomh-s
    Level 24  
    Swoją drogą to ktoś może wie czy timer OSC32 da się zatrzymać, czy może jest on free running jak systick? Obecnie korzystam z niego jako stopera. Zatrzymanie realizuję softowo (zapisuje i wczytuję jego wartość z/do zmiennej). Ten dodatkowy oscylator na płytce to dobra sprawa, jednak wie może ktoś czy można go zastąpić szybszym (z większą częstotliwością)? Datasheet podaje że ma on mieć te swoje 32.xxxx kHz jednak nie jest chyba podane co się stanie jak się podepnie szybszy (ten na płytce ma w praktyce bliżej 38 niż 32 kHz).
  • #14
    szczepan999
    Level 12  
    miszczo997 wrote:
    Kolejną ciekawostką jest to, że najprawdopodobniej procesory montowane przez Chińczyków w blue pilach to nie są oryginalne procesory od STMicroelectronics - stm32f103c8t6 lecz malowanki procesorów GigaDevice gd32f103c8t6, które są między sobą kompatybilne


    To tłumaczy niską cenę tych modułów.
    Zamówiłem niedawno 2 szt u chińczyka, jak przyjadą chcę się tym pobawić bo do tej pory tylko AVR'y katuję.

    Czy są jakieś niespodzianki w stylu że coś nie działa tak jak w oryginalnym STM?
  • #15
    fotomh-s
    Level 24  
    Ja zrobiłem kalkulator programowalny na takim chińczyku, różne rzeczy tam mam zaprogramowane i działa (jeszcze mam sporo do dodanie jakby tego było mało). Ja bym się nie spodziewał niespodzianek, jakby tak było to na bank by ktoś o tym pisał, w końcu to popularne płytki. Niespodzianki to tak jak pisałem były, ale jeśli chodzi o hardware płytki (zgłaszana zła wartość rezystora dla USB, 2 rodzaje scalaków z 64 i 128kB FLASHa).

    Swoją drogą to ciekawe ile FLASH w chińczyku wytrzyma cykli, datasheet oryginalnego ST podaje że na bank ponad 1000 i 10000 standardowo.
  • #16
    ghost666
    Translator, editor
    fotomh-s wrote:
    Swoją drogą to ciekawe ile FLASH w chińczyku wytrzyma cykli, datasheet oryginalnego ST podaje że na bank ponad 1000 i 10000 standardowo.


    Między innymi właśnie to bym chciał sprawdzić - wybrać sobie jakiś obszar pamięci Flash w MCU i go zajechać ;).
  • #17
    tronics
    Level 38  
    GigaDevices działa na innej zasadzie bo ma flash szeregowy i ładuje po starcie program do ram...
  • #19
    szczepan999
    Level 12  
    fotomh-s wrote:
    Ja zrobiłem kalkulator programowalny na takim chińczyku, różne rzeczy tam mam zaprogramowane i działa.


    Zakładając, że nie robiłeś tego w arduino - jak programowałeś płytkę? Stlinkiem czy via bootloader?
  • #22
    fotomh-s
    Level 24  
    Klęska urodzaju jak to nazywają, gdzie kilku się bije tam korzysta... ....Klient :-) Żegnajcie AVRy wasz czas minął ;-)

    Ostatnio na kanale reduktor szumu coś takiego:
    https://www.youtube.com/watch?v=nNOA2PbIARM&l...bqej0yqzensrdl04yusxw03c010c.1552671412982870
    Zauważcie STM, chyba taki sam jak na blue pill, robi chyba jedynie za tap delay (czyli "wystukuje" rytm). Każdy ATtiny (nawet ten "ezoteryczny" szczerbaty pod względem pinów) by to potrafił.
  • #23
    kamyczek
    Level 38  
    Jak to mówią sukces ma wielu ojców a porażka jest sierotą . I takim sposobem wiele firm próbuje dorabiać ideologię do swoich układów żeby działała pod ardruino . To jest żerowanie na popularności środowiska ardruino dla celów popularyzacji swoich układów w tym przypadku ST . I tak robi wiele firm a dla mnie to jak żebrak pod marketem czy kościołem chodzą tam ludzie to trzeba coś wyciągnąć dla siebie ....
  • #24
    khoam
    Level 41  
    Projekt Arduino nigdy nie był własnością Atmela/Microchip, ani projekt ten nie był dedykowany wyłącznie dla tych procesorów.
    Wystarczy przeczytać manifest: https://www.arduino.cc/en/Main/AboutUs

    Twierdzenie, że inni producenci procesorów "wykorzystują" markę Arduino jest bezsensowne - oprogramowanie Arduino jest Open Source Hardware i każdy producent procesorów może brać udział w tym projekcie na jednakowych zasadach.
  • #25
    fotomh-s
    Level 24  
    Ponadto amatorzy elektronicy nie są zbyt znaczącymi nabywcami w porównaniu z komercją. Amator kupuje pojedyncze układy bądź płytki z nimi, komercja kupuje układy na pęczki. Chociaż swoją drogą to nikt nie broni komercji programować na Arduino skoro to open source...

    Swoją drogą to mi się tam wydaje że to producenci płytek bardziej napędzają ten biznes niż sami producenci układów, to oni sprzedają towar którego odbiorcami są prawie wyłącznie amatorzy. Tak jak przedmówca napisał, Arduino nie jest IDE stworzonym przez producentów układów, a to że teraz są tam głównie AVRy i ARMy to sprawa zalet, popularności oraz cen tych układów.
  • #26
    tronics
    Level 38  
    Eee, AVRy i ARMy? Tak na początku mogło być, ale Arduino na czym płytki wypuszczało to dostawało solidne wsparcie - a oznacza to mniej więcej tyle, że AVR (bez Xmega, tinyAVR 0-series, 1-series i megaAVR 0-series), ARM (Cortexy Atmela, głównie SAMD21), ESP8266. Ale stabilne i dobre core dla innych procesorów też jest. Właśnie bardzo popularnym (z tych nieoficjalnych) jest stm32duino o którym tutaj mowa, ale jest i core dla Kinetisów (za sprawą Teensy - zupełnie w PL niepopularnego, pewnie przez cenę), SoC mediateka (z wifi), nordic nrf5, lattice fpga (!!), PIC (płytki OLIMEX). Zatem kto płytki produkował płytki "developerskie" na sprzedaż starał się uzyskać wsparcie dla Arduino. A nawet jeśli nie to przynajmniej dać gniazda zgodne z arduino by móc shieldy wykorzystać. Ale dla wielu kolegów arduino i tak będzie kojarzyć się tylko z brakiem debugowania, spasłym kodem do mrugania diodą i bezmyślnym sklejaniem gotowców.
  • #27
    Slawek K.
    Level 35  
    tronics wrote:
    Eee, AVRy i ARMy? Tak na początku mogło być, ale Arduino na czym płytki wypuszczało to dostawało solidne wsparcie - a oznacza to mniej więcej tyle, że AVR (bez Xmega, tinyAVR 0-series, 1-series i megaAVR 0-series), ARM (Cortexy Atmela, głównie SAMD21), ESP8266. Ale stabilne i dobre core dla innych procesorów też jest. Właśnie bardzo popularnym (z tych nieoficjalnych) jest stm32duino o którym tutaj mowa, ale jest i core dla Kinetisów (za sprawą Teensy - zupełnie w PL niepopularnego, pewnie przez cenę), SoC mediateka (z wifi), nordic nrf5, lattice fpga (!!), PIC (płytki OLIMEX). Zatem kto płytki produkował płytki "developerskie" na sprzedaż starał się uzyskać wsparcie dla Arduino. A nawet jeśli nie to przynajmniej dać gniazda zgodne z arduino by móc shieldy wykorzystać. Ale dla wielu kolegów arduino i tak będzie kojarzyć się tylko z brakiem debugowania, spasłym kodem do mrugania diodą i bezmyślnym sklejaniem gotowców.

    Zgadzam sie w 100%.

    Mam pytanie, czy są tego typu płytki z STM32 z DAC ? bo z tego co widzę, F103C8T6 nie posiada DAC.

    Pozdr
  • #28
    LChucki
    Level 31  
    rs6000 wrote:
    Mam pytanie, czy są tego typu płytki z STM32 z DAC ? bo z tego co widzę, F103C8T6 nie posiada DAC.

    Zainstaluj sobie STMCUFinder ze strony STM, który szuka uC z uwzględnieniem różnych opcji.

    Dodano po 3 [minuty]:

    fotomh-s wrote:
    Datasheet podaje że ma on mieć te swoje 32.xxxx kHz jednak nie jest chyba podane co się stanie jak się podepnie szybszy (ten na płytce ma w praktyce bliżej 38 niż 32 kHz).

    Skoro w DS napisali max 32 a dasz więcej to po prostu nie zadziała lub zadziała źle. W AVR np max to 200kHz. Jak potrzebujesz szybszego taktowania to podłącz generator do jakiegoś wejścia timera albo wykorzystaj wewnętrzny oscylator po podzieleniu preskalerem.