Arduino IDE: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
Corretto: "un altro"
 
(3 versioni intermedie di un altro utente non mostrate)
Riga 1:
{{E|Un IDE come un altro, conosciuto principalmente per essere il default nell'ecosistema Arduino, senza distinguersi particolarmente dalla massa.|software|ottobre 2024}}
 
{{Software
|Nome = Arduino
Riga 35 ⟶ 37:
* <syntaxhighlight lang="c">void setup ()</syntaxhighlight> – funzione invocata una sola volta all'inizio di un programma, da utilizzare per i settaggi iniziali che rimarranno invariati durante l'esecuzioni;
* <syntaxhighlight lang="c">void loop ()</syntaxhighlight> – funzione [[Loop (informatica)|invocata ripetutamente]], la cui esecuzione si interrompe solo quando si toglie l'alimentazione alla scheda.
 
=== Differenze con C++ ===
Rispetto a [[C++]] è stata fatta una semplificazione nei [[tipo di dato|tipi di dati]] al fine di renderli più facilmente riconoscibili. Un intero, ad esempio, viene definito semplicemente come "int" o "unsigned int", mentre il C++ prevede alcuni modificatori per dichiararne la lunghezza e se è dotato di segno, rendendo la definizione più articolata e meno immediata per un neofita, come ad esempio "uint32_t" o "int16_t". La disponibilità di funzioni specifiche per il funzionamento su microcontrollori in aggiunta a quelle di C++ è l'altra differenza significativa. La lettura e scrittura delle porte digitali ed analogiche, piuttosto che il controllo del tempo trascorso tramite "millis()" determinano una relativa incompatibilità con il C++ e uno sketch di Arduino richiede degli adattamenti per essere utilizzabile da un compilatore C++. Lo stesso non vale al contrario: con l'Arduino IDE è possibile scrivere un programma con notazione C++ e ottenerne la compilazione senza problemi. Il C++ riconosciuto è [[C++11]]. Se il programma utilizza le caratteristiche hardware del microcontrollore, si possono usare le funzioni offerte dal linguaggio Arduino e sono numerosi i casi in cui [https://github.com/MarlinFirmware progetti complessi] sono scritti con un mix di C++ e funzioni di Arduino.
 
==Esempi di codice==
Riga 89 ⟶ 88:
"WProgram.h" è lo [[header file]] principale per la [[libreria software|libreria]] Wiring. La funzione <code>main()</code>effettua solo tre chiamate, <code>init()</code>, <code>setup()</code> e <code>loop()</code>; le ultime due sono definite dall'utente, mentre la prima è scritta nella libreria stessa. La funzione <code>loop()</code>, come richiesto, è automaticamente nidificata in un [[Loop (informatica)|loop infinito]].
 
Lo L'IDE di Arduino usa la [[GNU]] [[toolchain]] e la [[AVR Libc]] per compilare i programmi, mentre usa [[avrdude]] per caricarli sulla scheda.
 
== Android Accessory Development Kit ==
In occasione della conferenza [[Google I/O]] di maggio 2011, [[Google]] ha presentato ADK (Android Open Accessory Development Kit), un kit di sviluppo basato su Arduino e ideato per aiutare sviluppatori e costruttori hardware a creare accessori per [[Android]]; gli accessori possono comunicare con Android via cavo USB o attraverso una connessione [[Bluetooth]].<ref>{{Cita web |url=https://developer.android.com/tools/adk/adk2.html#adk-conn |titolo=Accessory Development Kit 2012 Guide|lingua=en |accesso=14 dicembre 2012}}</ref>
 
L'ADK, ora prodotto ritirato, si basa sulla scheda Arduino Mega2560 e sulla scheda USB host.<ref>{{Cita web |url=https://www.engadget.com/2011/05/10/google-announces-android-open-accessory-standard-arduino-based/ |titolo=Google announces Android Open Accessory standard, Arduino-based ADK |autore=Donald Melanson |editore=[[Engadget]] |lingua=en |accesso=11 maggio 2011}}</ref>
 
== Open hardware e open source ==
{{vedi anche|Hardware libero}}
Gli schemi hardware di Arduino sono distribuiti in modo da poter essere utilizzati nei termini legali di una licenza [[Creative Commons]] Attribution Share-Alike 2.5<ref name="Hardware Arduino">{{Cita web|url=https://arduino.cc/en/Main/Hardware|titolo=Hardware|editore=Arduino.cc|lingua=en|accesso=10 maggio 2011}}</ref>, e sono disponibili sul sito ufficiale Arduino. Con la riorganizzazione del sito, tutti gli schemi nei formati Eagle, PDF e Fritzing sono disponibili nelle pagine di ciascun prodotto sullo Store Arduino e su [https://docs.arduino.cc docs.arduino.cc]. I prodotti ritirati dalla vendita, perché obsoleti, sono ancora documentati sul sito docs.arduino.cc dove, nella maggior parte dei casi, sono reperibili i file in formato Eagle e gli schemi in PDF.
 
Il codice sorgente per l'[[ambiente di sviluppo integrato]] e la [[libreria software|libreria]] residente sono invece disponibili, e concessi in uso, secondo i termini legali contenuti nella licenza [[GNU General Public License|GPLv2]].
 
== Note ==