arduino / arduino/ArduinoCore-API
Retrieve current pin mode
- Lenguaje dominante
- C++
- Estrellas
- 306
- Forks
- 150
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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!
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza con la API pinMode existente y los puntos de entrada digitalPinToBitMask, digitalPinToPort, portModeRegister y portOutputRegister mostrados en el issue. Comprueba cómo la API independiente del hardware expone las operaciones sobre pines y cómo las implementan los cores. Se considera terminado cuando se puede recuperar el modo actual del pin, se devuelven los modos especificados y se devuelve -1 para un pin no válido.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- arduino, cpp
- Área
- api, embedded-iot
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100