Vettem egy AVR-Duino-t ShieldBoard Ext1-gyel (LCDstül), és végre van időm foglalkozni a küttyel. Mivel úgyis ismerkedéssel telik az idő, gondoltam az egyes alrendszerekkel kapcsolatban megírt példákat beküldöm ide, hátha okul belőle más is.
A processing/wiring nyelvek és/vagy környezetekkel kapcsolatban kicsit kavarodás van, hogy melyik melyiknek leszármazottja, l. http://en.wikipedia.org/wiki/Proce55ing . A lényeg az, hogy a C nyelv szintakszisára alapulnak, kölcsönöznek egy kicsit a C++-ból ill. a Javaból is. A Wiring mikrokontrolleres környezetre van kihegyezve, a Processing kicsit általánosabb, multiplatformos, grafikus ténykedésre van kihegyezve (van pl. javascriptben írt interpretere is...).
A megalkotásukkor cél volt, hogy egyszeri művészemberek egyszerűen tudjanak kompjúterrel dolgokat előállítani, így pl. az Arduino (l. http://arduino.cc ) fejlesztőkornyezete (ami asszem konkrétan Wiring leszármazott, és abból a környezetből át is vett egy csomó libet) is arra van kihegyezve, hogy a fejlesztőnek ne azzal menjen el az ideje, hogy C fordítót paraméterez, megfelelő headereket includeál, megfelelő libekkel linkkel, majd pedig feltölt az eszközre.
Inkább van egy egyszerű sketchnek nevezett fájlja, amibe megírja a főleg C-re, kicsit C++-ra (igen, vannak osztályok...) hajazó kódját, nyom egy gombot, és kisvártatva ott van az eszközre feltöltve a programja, és működik (optimális esetben
Mivel GNU-s fordítóval és libc-vel (l. http://www.nongnu.org/avr-libc/ ) operál, ezért az azokban megengedett dolgokat szabadon művelheti az ember, így effektíve síma C kódot is lehet írni, azt is lefordítja az Arduino IDE.
A környezetnek van néhány specialitása (pl. a Wire libben, ami az I2C-t implementálja, minden cím 7 bites mondván, hogy a 8. bit az irást ill. olvasást különbözteti meg, és azt a lib kezeli magától; így a ShieldBoard Ext1 doksijában megadott címeket egy bittel jobbra shiftelve kell a libnek megadni!), de ez minden környezettel így van, nemde?
Ja, és az Arduinohoz kiindulásnak: http://arduino.cc/en/Tutorial/Foundations
