Zdravim a dekuji za clanek, popsal jste to perfektne.
Vubec se mi nechce verit ze je to tak primocare:
- napsat aplikaci v Arduino GUI s pouzitim knihoven pripojenych shieldu atd.
- vymyslet protokol vlastni komunikace a jeho zpracovani v cyklu
- prenest program do Arduina (predpokladam ze potrebne casti pouzitych
externich knihoven atd. se prenesou automaticky a neni potreba to
dale specialne resit)
- z jakehokoliv programovaciho jazyka posilat prikazy komunikacniho
protokolu primo do portu
To je snad sen....
Opravdu, upload je jedním tlačítkem v GUI, sám si to přeloží a sám uploaduje a resetuje.
Externí knihovny řešit netřeba, předpokládám, že se to linkuje staticky, takže výsledná binárka obsahuje vše co potřebuje :-)
Jinak v omezené 1KB RAMce je k dispozici klasická halda, takže tam lze používat malloc, free, new, delete, proto tam je třída pro práci s řetězci. Musí se tam ale vejít i zásobník.
Arduion je osmibitový procesor, všechny inty jsou "dvojbajtové", adresy taky (je to nezvyk, když člověk dělá na platformě x64), jinak se tam dá programovat opravdu tak, jak je člověk zvyklý. Dokonce lze používat i C++ šablony a virtuální metody :-). Nechodí výjimky (throw)
Akorát člověka může trošku rozhodit Hardwarská architektura, totiž, že si nelze ukázat na data v programu pointerem, takže buď se všechny R/O data rvou do RAMky (a plejtvají cenný prostor), nebo se musí z ROMky přenášet pomocí speciálních funkcí. To se dá přežít.