Questa libreria e' pensata per quelle applicazione dove un numero limitato di pin vengono usati con molta frequenza, pertanto velocizzare il loro utilizzo diventa molto importante.
La libreria permette di velocizzare il comando dei pin digitali (pinMode, digitalWrite, digitalRead) andando a calcolare, una sola volta al momento della creazione dell'Oggetto i parametri richiesti (porta, bit, registri) per i pin su cui si vogliono utilizzare le funzioni fast.
ATTENZIONE: Questa velocizzazione viene ottenuta ospitando in SRAM l'oggetto contenente i dati del pin; ogni Oggetto pesa 6 Byte!
I meotdi forniti dalla libreria non disattivano gli interrupt e non eseguono i controlli sui Timer/PWM, pertanto il suo utilizzo e' pensato per utenti piu' esperti.
Video Presentazione del Progetto:
L'inizializzazione dell'oggetto avviene al momento della sua Creazione
digitalPinFast(uint8_t pinNumber);
Dichiarazione dell'Oggetto digitalPinFast, l'argomento da passare e' il numero del pin sul quale creare l'oggetto. Deve essere un pin Digital.
I seguenti metodi sono forniti dalla libreria per sostituire i comandi di default.
void pinModeFast(uint8_t mode)
Analogo a pinMode, evita controlli su pin PWM e NON disabilita gli interrupt.
- Input
- la nuova configurazione del pin
- Restituisce:
- nulla
uint8_t digitalReadFast(void);
Analogo a digitalRead, evita controlli su pin PWM e NON disabilita gli interrupt.
- Input:
- nulla
- Restituisce:
- il valore logico letto sul pin
void digitalWriteFast(uint8_t val);
Analogo a digitalWrite, evita controlli su pin PWM e NON disabilita gli interrupt.
- Input:
- il nuovo stato del pin
- Restituisce:
- nulla
void setNewFastPin(uint8_t pinNumber);
Serve a modificare il pin a cui e' collegato l'oggetto.
- Input:
- il numero del nuovo pin su cui si vogliono utilizzare i metodi Fast
- Restituisce:
- nulla
L'oggetto puo' essere distrutto.
~digitalPinFast(void);
Al momento della distruzione il pin viene messo nello stato di INPUT per evitare danneggiamenti accidentali.