2. STM32F769 - Mbed
- April 08 2018
- STM32F4, STM32F7, STM32L1, STM32F3, Nucleo, Discovery
- 1796x Přečteno
Všechny články o STM32F769 Discovery:
1. STM32F769 - Úvod
2. STM32F769 - Mbed
3. STM32F769 - ESP8266
Jak jsem již zmínil v úvodním článku, k programování STM32 bych chtěl používat prostředí Mbed. Toto prostředí mne nadchlo především tím, že se do PC nic neinstaluje, jedná se o online vývojové prostředí a tudíž můžete programovat kdekoliv máte přístup k internetu. Všechny knihovny, program a kompilace probíhá na vzdálených serverech, tudíž do PC si na konec stáhnete .bin a ten uložíte přímo do STM32 mikrokontroléru. Ovšem pro někoho může být problém v případě, že potřebujete něco naprogramovat a nemá přístup k internetu, proto jako se vším zde najdeme určité pro a proti :)
Začátek v Mbed je překvapivě jednoduchý, v podstatě se stačí zaregistrovat, otevřít online vývojové prostředí, přidat desku a můžeme začít programovat. Podpora vývojových desek je poměrně rozsáhlá a i v případě modulů popř. různých komponent jsem byl překvapen kolik je zde knihoven a ukázkových programů. Přidání vývojové desky provedeme na této adrese: https://os.mbed.com/platforms/ kde stačí najít vaší vývojovou desku a kliknout na Add to your Mbed compiler.
Poté v horní části webu přejdeme do kompilátoru, zde už jen stačí kliknout na new a můžeme si vybrat jeden z ukázkových příkladů, popřípadě začít s čistým projektem.
Abych jsem si vyzkoušel nahrání programu do STM32 a komunikaci s mikrokontrolérem použiji ukázkový program: Print on PC example. Jedná se u opravdu jednoduchý program, který v terminálu vypíše Hello world a poté zde zobrazuje dobu běhu programu. Do tohoto programu jsem přidal dvě řádky kde si definuji RX a TX pin a ještě rychlost komunikace. Pro nahrání programu do STM32 stačí v prostředí Mbed kliknout na Compile a poté proběhne kompilace a následně je možné stáhnout zkompilovaný program s příponou .bin do STM32.
Serial pc(SERIAL_TX, SERIAL_RX);
DigitalOut led(LED1);
int main()
{
pc.baud(115200);
int i = 1;
pc.printf("Hello World ! \r\n");
while(1) {
wait(1); // 1 second
led = !led; // Toggle LED
pc.printf("This program runs since %d seconds.\r\n", i++);
}
}
Jelikož Mbed je webové prostředí, nemá v sobě implementovaný terminál, jako tomu je například u ArduinoIDE. Proto je zapotřebí stáhnout program, který nám umožní komunikovat přes RS232. Osobně používám program putty, stáhnete jej zde: Putty download. Po stažení stačí program spustit nastavit sériovou komunikaci, následně nastavit rychlost komunikace a navázat spojení. Poté se nám zobrazí okno ve kterém bude Hello world a následně se bude vypisovat doba běhu programu.
V příštím článku bych chtěl popsat jak nahrát do wifi modulu ESP8266 (ESP-01) potřebný firmware, následně ESP připojit k STM32 a komunikovat s ním.