Programování kitu F0- Lab v C++ pomocí on line IDE mbed. Klub ETC, ČVUT FEL, kat. měření. ETC , kat. měření, ČVUT, FEL, Praha

Podobné dokumenty
FILIP SCHWANK. Katedra měření, listopad 2017

Výuková laboratorní sestava seminář pro učitele

ČVUT FEL. mbed tutoriál

ETC Embedded Technology Club setkání 3, 3B zahájení třetího ročníku

ETC Embedded Technology Club 6. setkání

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

Arduino Martin Friedl

ETC Embedded Technology Club setkání

ETC Embedded Technology Club setkání zahájení druhého ročníku

Úvod do mobilní robotiky AIL028

ETC Embedded Technology Club setkání zahájení druhého ročníku

ETC Embedded Technology Club setkání

Vývojový kit osazený procesorem ARM - Cookie

Přednáška - Čítače. 2013, kat. měření, ČVUT - FEL, Praha J. Fischer. A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1

Programování mikropočítačů platforma Arduino

Použití UART a radia na platformě micro:bit

Architekura mikroprocesoru AVR ATMega ( Pokročilé architektury počítačů )

APLIKACE MIKROKONTROLÉRŮ PIC32MX

Přednáška , kat. měření, ČVUT - FEL, Praha J. Fischer. A4B38NVS, 2012, J.Fischer, kat. měření,, ČVUT - FEL 1

ETC Embedded Technology Club 7. setkání

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Vývojové kity Mega48,

MIKROPROCESOROVÁ TECHNIKA 9 Událostní systém 9.1 Události Síť ERN Časování událostí Filtrace

PŘÍLOHY. PRESTO USB programátor

Praktické úlohy- 2.oblast zaměření

Zařízení pro měření teploty, atmosférického tlaku a nadmořské výšky

POPIS PROGRAMU PRO DSP

FVZ K13138-TACR-V004-G-TRIGGER_BOX

Manuál přípravku FPGA University Board (FUB)

Úloha- Systém sběru dat, A4B38NVS, ČVUT - FEL,

PŘIJÍMAČ DÁLKOVÉHO OVLÁDÁNÍ FLOXR

Obsah. O autorovi 11 Předmluva 13 Zpětná vazba od čtenářů 14 Errata 14

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: :01:48

Využití STM32 pro studentské projekty

Laboratorní cvičení z předmětu Elektrická měření 2. ročník KMT

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux

Programování mikroprocesorového modulu pro výuku fyziky

Vana RC0001R1 RC0001R1

Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů. Zdeněk Oborný

GENERÁTOR HLASOVÝCH ZPRÁV INT-VMG. 1. Vlastnosti. 2. Specifikace. 3. Popis činnosti

Climbing Robot. Václav Michal. SŠ AGC a.s Rooseveltovo nám. 5, Teplice

Návod k obsluze výukové desky CPLD

Komunikační rozhraní počítačů

ETC Embedded Technology Club 5. setkání

Jízda po čáře pro reklamní robot

Architektura počítačů. Zvukové karty

Návrh konstrukce odchovny 2. dil

DIGITÁLNÍ ODPALOVACÍ PULT

ETC Embedded Technology Club setkání 1, 3B zahájení třetího ročníku

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

Úvod do mobilní robotiky NAIL028

ETC Embedded Technology Club setkání 6, 3B zahájení třetího ročníku

Bakalářská práce Realizace jednoduchého uzlu RS485 s protokolem MODBUS

A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL. Rozhraní mikrořadiče, SPI, IIC bus,.. A438NVS, kat. měření, ČVUT - FEL, Praha. J.

Dvojnásobný převodník s frekvenčními vstupy a analogovými výstupy na DIN lištu RV-2F

Způsoby získání autentizačních údajů

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

SuperCom. Stavebnice PROMOS Line 2. Technický manuál

EduKitBeta Uživatelská příručka

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST

Martin Friedl. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky.

Cílem dnešní lekce je obohatit náš dosavadní systém a připravit se na připojení do cloudu

Diktafon se vzdáleným odposlechem a výdrží až 100 dní

Čítače Přednáška 10 (11)

A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL. Přednáška , kat. měření, ČVUT - FEL, Praha J. Fischer

výstupní modul 0-20mA nebo 0-10V 700 výstupní modul 0-20mA nebo 0-10V, komunikace RS232 s PC včetně komunikačního programu SW1251 *

Mikrořadiče společnosti Atmel

ČEMU ROZUMÍ MIKROPROCESOR?

Praktický návod. Inteligentní elektroinstalace obytného domu Ego-n

HT102. Ovládací terminál. Shrnutí

Témata profilové maturitní zkoušky

VINCULUM VNC1L-A. Semestrální práce z 31SCS Josef Kubiš

WiFi textový terminál s ESP8266

Uživatelská příručka

APLIKACE ŘÍDICÍCH SYSTÉMŮ S DSC

První kroky s METEL IEC IDE

kryptovaným uložištěm hesel

Nejčastěji pokládané dotazy

Rozhraní mikrořadiče, SPI, IIC bus,.. Přednáška 11 (12)

Postup při instalaci potřebných softwarových nástrojů pro procesor STM32F042 u operačního systému Windows


Mikrokontrolery. Úvod do obvodů Atmega 328 a PIC16F88

Uživatelský manuál. Kamera se záznamem na MicroSD kartu OXE 14002

FREESCALE TECHNOLOGY APPLICATION

Digitální odpalovací pult HELENA Firing 93

ETC Embedded Technology Club setkání 4 2B druhý ročník

SW24x3 programovatelné relé

Stage Setter 24 Návod k obsluze

UniPi 1.1 Lite Technologická dokumentace

TGZ. 2-osé digitální servozesilovače

Robotická ruka. Lukáš Fotr a Jaroslav Karban. Integrovaná střední škola, 2. ročník Kumburská 846, Nová Paka

Students for Automotive (S4A) Manuál pro soutěžní týmy

Návrh konstrukce odchovny 3. dil

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

Z čeho se sběrnice skládá?

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

Použití programu uscope k simulaci výukového přípravku pro předmět PMP

eses výukový multi shield pro Arduino UNO

Transkript:

Programování kitu F0- Lab v C++ pomocí on line IDE mbed Klub ETC, ČVUT FEL, kat. měření 1

Další použití desky F0 - Lab Procesor firmy STMicroelectronics STM32F042F6P6 s jádrem ARM Cortex M0, stejný jako v deskách ST Nucleo Je nějaká možnost tvorby programů pro jednoduché nenáročné aplikace bez studia struktury procesoru (nastavování periferií,..)? 2

Desky STM 32 Nucleo STM32 Nucleo desky pro seznámení s procesory STM32 Celá řada desek (cca 40 desek) viz st.com/stm32nucleo Dotované ceny, výhodné Nucleo STM32F303RE (260 Kč bez DPH) Pozn. pro Nucleo STM32F303RE máme program LEO - osciloskop, funkční generátor, voltmetr https://embedded.fel.cvut.cz/platformy/leo 3

Desky STM 32 Nucleo Možnost programování pomocí různých nástrojů od asembleru až po Matlab. Podpora programování desek Nucleo také On line IDE mbed Snaha dosáhnout jednoduchosti, jako u Arduina, desky obsahují také konektory kompatibilní s Arduino konektory a podobné pojmenování signálů 4

Deska F0- Lab a deska Nucleo? Na desce Nucleo 32 je procesor STM32F042K6 v pouzdře LQFP 32 s 32 vývody Náš procesor STM32F042F6P6 má pouze 20 vývodů, má však stejně velkou paměť Flash i SRAM i shodné perieferie (vstupně výstupní brány, komunikační kanály UART, SPI, IIC Bus,..) s shodným programovým ovládáním. Řešení při tvorbě programu pomocí On line IDE mbed předstírat, že se tvoří program pro STM32 Nucleo F042, a používat pouze ty piny, které má náš STM32F042F6P6 v menším pouzdře. Závěr - využití mbed pro Nucleo F042 Co znamená On line IDE mbed? Program se tvoří (edituje a překládá) pomocí webového prohlížeče přímo na příslušné www stránce. Stáhne se výsledný binární kód, který se nahraje do kitunucleo. 5

CO JE TO MBED Knihovna pro programování mikrokontrolérů Jazyk C++ Jednoduché funkce dělají složité věci Od řidiče auta až po jeho mechanika Přehled podporovaných desek na : https://os.mbed.com/platforms/ 6

Jak se řeší příprava programu Registrovat se na https://os.mbed.com/account/signup/ Po registraci a přihlášení je potřeba přidat do prostředí pratformu s procesorem STM32F042K6 => v prohlížeči se otevřete stránka s platformou: https://os.mbed.com/platforms/st-nucleo-f042k6/ a klikne se na "Add to your Mbed compiler" 7

Přechod ke kompilátoru Po výběru desky přejít kliknout na kompilátor nebo zadat https://os.mbed.com/compiler/ 8

Nový program Nový program a zvolit platformu. 9

Nový program Pro rychlejší práci možnost nahrávání můžeme využít pro seznámení desky Nucleo STM32F303RE 10

Jak na to Samotné prostředí mbed poskytuje mnoho základních příkladů, ze kterých se dá vycházet 11

PRVNÍ PROGRAM Stačí založit projekt s některou z předloh Blikání LED Předloha funguje na demonstračním kitu, s drobnou modifikací i na desce F0 - Lab 12

První program 13

Jak se řeší příprava programu Otevřít Compiler a začít programovat 14

První program, blikání LED #include "mbed.h" // hlavička programu říká, že použijeme mbed DigitalOut myled(led1); // definice,kde se LED rozsvítí int main() { // hlavní funkce programu; musí vždy existovat while(1) { // nekonečná smyčka;bude se stále blikat myled = 1; // zapni LED wait(0.2); // počkej 200 milisekund myled = 0; // zhasni LED wait(1.0); // 1 sec } } Jaké jsou názvy pinů? LED1- název pouze pro platný pro desku Nucleo. U nás, názvy pinů procesoru PA_4,.. 15

Piny a jejich označení v mbed Samotný mikrokontrolér definuje vstup/výst. piny PA_0. PA_1,.. PB_1 Kity Nucleo mají Arduino headery značené D_0-x mbed zavádí své označení pinů, digitální Dx, analogové Ax, periferie (např.pwm3/2), nebo definice tlačítek (user button) a LED (LED1) 16

Piny a jejich označení pro STM32F042F6P6 Doporučení používat označení podle výrobce procesoru, ted PA_4,... 17

Nahrání přeloženého programu do kitu Nucleo Překlad programu na mbed Compile Stáhnout soubor xxx.bin Nahrát (kopírovat) přímo do kitu NUCLEO jako do paměti Flash. Pro samotný procesor STM32F042F6P6 je poněkud složitější postup. 18

Nahrání programu do paměti FLASH procesoru Tlačítkem Compile se stáhne vygenerovaný program Pro desku F0 - Lab je třeba použít DfuSe třeba soubor.dfu Vygenerování xxx.dfu z xxx.bin pomocí DFU manager (ten se nainstaloval spolu s DfUSE Demo) 19

Nahrání programu pomocí DfuSE Demo 20

Nahrávání programu do F0 Lab pomocí Nucleo 64 Alterantivní způsob nahrávání s využitím kteréhokoliv kitu Nucleo 64 Odpojit vytažením jumperů zabudovaný procesor a pomocí vodičů napojit na desku F0 lab na piny č. 19 a č. 20 (rozhraní SWD). Nahrání binárního souboru pouhým nakopírováním přes USB Možnost využití zabudovaného převodníku UART USB. 21

DRUHÝ PROGRAM Lampička s LED tlačítko rozsvítí LEDku Malý demo kit nemá vlastní tlačítko Pro desku pouze definujeme kde je tlačítko a LED umístěna 22

DRUHÝ PROGRAM #include "mbed.h" //určení kde je tlačítko DigitalIn mybutton(user_button);//l053 //DigitalIn mybutton(pb_1); //F042 DigitalOut myled(pa_5); //umístění LED int main() { while(1) { if (mybutton == 0) { myled =!myled; wait(0.2); } } } //hlavní funkce //smyčka //podmínka zda bylo stisknuto tlačítko //0 - ANO, 1 - NE // pokud ano, tak zapni/vypni LED // 200ms pro eliminaci dvojkliku Označení pinu ( např. PA_4 je na pinu č. 10) dle dokumentace procesoru a schématu F0 - Lab 23

Jak dále - textová komunikace V mbed na demo kitu lze také snadno komunikovat pomocí terminálu povídání s mikrokontrolérem, případně jeho řízení pomocí PC, komunikační kanál UART Pro desku F0 Lab potřebujeme externí převodník UART -> USB převodník ( cca 90 Kč v GME) 24

Komunikace pro ladění Při použití mbed není k dispozici ladění programu debugging Možné způsoby: Využít textové výpisy při průchodu nějakou části programu Využít blikání LED bliknout několikrát, nebo použít PWM pro nastavení jasu, příp. využít několik signalizačních LED PWM signalizace pomocí sluchátka (různé tóny) 25

Kam dále Mnoho dalších funkcí PWM, časovače, AD a DA převodníky Jak začít Použít předlohy na jednoduché programy a zkoušet modifikovat Dále samotná mbed komunita vytváří mnoho programů Nucleo a jeho extension boardy např. Bluetooth, P-nucleo Internet je plný tutoriálů Pro pokročilé funkce i programátory STM Cube MX Další možnost zapsat si předměty B3B38VSY - Vestavné systémy(5. semestr) 26

ADC/DAC ADC -Analogově digitální převodník Převod analogového signálu na digitální Příklad: voltmetr, mikrofon, záznam signálu Digitálně analogový převodník DAC (opak ADC) Příklad: výstup přehrávače, tvorba signálu ( STM32F042 nemá DAC) 27

AD/DAC Pro ADC - AnalogIn nazev(pin) Čtení hodnoty promenna = nazev.read() Hodnota je v rozmezí 0 až 1, procentuálně mezi 0 a maximálním napětím 3.3V Reálné napětí se spočítá jako promenna * 3.3 Pro DAC AnalogOut nazev(pin) Zápis hodnoty nazev.write(hodnota) Hodnota je také v rozmezí 0-1, tj. kolik procent max napětí bude na výstupu 28

TIMER - PWM Pulzně šířková modulace PWM Signál nabývá hodnot log0/log1 Poměr stavů zapnuto/vypnuto je střída Čas přenosu jedné střídy je perioda Příklad: LED osvětlení, DC motory, topení, řízení polohy servo motor, atd. 29

KAM DÁLE 30

Další možnosti Pro levné embedded aplikace je možno využít i levnější procesory řady STM 32 https://cz.farnell.com/w/c/polovodice-io/mikrokontrolery-mcu/16-32-bitove-mikrokontrolery-mcuarm/prl/vysledky?st=stm32f0&sort=p_price Např. STM32F030F4P6 31