arduino / arduino/ArduinoCore-API

Retrieve current pin mode

Aperta
#179 4 commenti 13 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
C++
Stelle
306
Fork
150
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

There is currently no function to get the current pin mode. A possible implementation is:

```
int pinMode(uint8_t pin)
{
if (pin >= NUM_DIGITAL_PINS) return (-1);

uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
volatile uint8_t *reg = portModeRegister(port);
if (*reg & bit) return (OUTPUT);

volatile uint8_t *out = portOutputRegister(port);
return ((*out & bit) ? INPUT_PULLUP : INPUT);
}
```

The return value is the pin mode or error code (-1) for illegal pin number.

Cheers!

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia con l’API pinMode esistente e con gli entry point digitalPinToBitMask, digitalPinToPort, portModeRegister e portOutputRegister mostrati nell’issue. Verifica in che modo l’API indipendente dall’hardware espone le operazioni sui pin e in che modo i core le implementano. Il lavoro è completo quando è possibile recuperare la modalità corrente di un pin, vengono restituite le modalità specificate e viene restituito -1 per un pin non valido.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
arduino, cpp
Ambito
api, embedded-iot
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.