codici sorgente delle funzioni base di arduino

Ciao a tutti! Da poco mi sono imbattuto in una questione per cui in rete non sono riuscito a trovare quasi niente.
Nella cartella delle librerie di arduino ci sono i sorgenti, ma non riesco a trovare i file relativi alle funzioni base, quelle per cui nello sketch non è necessario includere nessuna libreria aggiuntiva.

Il mio obbiettivo sarebbe quello di utilizzare le funzioni base, quindi per esempio la pinMode, digitalWrite, digitalRead eccecc, in modo più generale, cioè non indicando nel codice pin e modalità in modo esplicito, ma assegnando questi a delle variabili che quindi possono cambiare durante l'esecuzione del codice.

Dopo varie ricerche sono riuscito a scoprire che i parametri da mandare a queste funzioni sono di tipo char, sia per il pin che per la modalità, non sono però riuscito a trovare le corrispondenze tra i modi per esempio INPUT, OUTPUT, HIGH, LOW ed i relativi caratteri char.

Oltre a questo, sono sicuro che appena risolverò il dubbio, si presenterà anche il problema del char da associare al pin! Perché mi lascia perplesso il fatto di associare un solo char ad i pin sopra il 9. Per esempio se al pin 10 non posso associare una sequenza di due char ascii corrispondenti ai caratteri 1 e 0, l'unica cosa che mi viene in mente è trattare i numeri in binario, ossia per il pin 10 mandare una sequenza di bit in formato char corrispondenti al valore 00001010.

In definitiva, dove reperire i sorgenti delle funzioni è il primo problema, più generale possibile in modo che se anche ad altri servisse di analizzare il funzionamento di queste funzioni saprebbero come fare (da qui il titolo della discussione), le successive domande relative ai caratteri sono più specifiche e relative al mio problema attuale. Siccome di sicuro all'inizio avrò problemi a leggere il sorgente e a capirne il funzionamento ho postato subito anche queste nella speranza che mi possiate dare una spinta iniziale!

Grazie in anticipo e buona giornata a tutti

winring_digital.c

Riguardo al tipo di dato char non è come pensi, non sono caratteri ascii ma interi nel formato decimale. Il tipo char di base è signed char ma può essere configurato per essere unsigned char.

unsigned char può assumere valori decimali da 0÷255.

Ciao.

>kele: basta che vai nel "core" di Arduino e trovi tutti i sorgenti che cerchi ...
... ovviamente dipendono dalla scheda che usi, comunque se ti muovi un po' nelle cartelle del IDE trovi, per ogni famiglia, una cartella chiamata "core" e li dentro trovi i sorgenti.

Guglielmo

Perfetto! Grazie ragazzi, ho trovato dentro il file Arduino.h i #define che cercavo!
Adesso inizio a studiare un po' questi file, ma intanto il led sul pin 13 sono riuscito a comandarlo quindi mi avete già rallegrato!
Grazie ancora ciaooo

edit: appena riesco a fare una funzioncina un po' più strutturata, se interessa la posto