ESP32 můžete programovat v Céčku, Wiring (Arduino) nebo třeba MicroPython. Ale co takhle zkusit programovací jazyk RUST?
Proč? Protože má spoustu výhod z jazyka C ale zároveň řeší jeho nedostatky, jmenovitě je to vyšší bezpečnost (z pohledu paměti – nehrozí například přetečení, nepovoluje ukazatele NULL nebo neplatné ukazatale) a navíc podporuje paralelismus. A tímto skvělým jazykem můžete programovat hned několik řad ESP32.
Pokud potřebujete stručný úvod do jazyka Rust, mrkněte na tohle video Petra Hodiny z LinuxDays 2017.
A teď zpátky k jazyku Rust a ESP32.
Na githubu nedávno vzniklo několik repozitářů pro ESP32, které lidem ulehčují psaní kódu právě v jazyce Rust.
Na hlavní stránce projektu najdete nástroje pro kompilaci kódu a také odkaz na HAL (Hardware Abstraction Layer) – to je knihovna, kterou pužíváte nad samotným low level kódem pro hardware. Nepracujete tak s jednotlivými bity jednotlivých registrů, ale s funkcemi, které zápis s bity v registrech obslouží za vás. HAL můžete například znát z STM32.
V těchto ESP-HAL knihovnách jsou momentálně podporovány řady ESP32, ESP32S2, ESP32S3, ESP32C3 a u každého z nich najdete spoustu příkladů – výpis Hello World, blikání LED, použití ADC, použití I2C displeje, časovače a další.
Všechno informace najdete na https://github.com/esp-rs