Как установить пин-мод для аналогового вывода динамически - PullRequest
0 голосов
/ 23 марта 2019

Я создаю тестовый код для atmega328p, используя arduino ide. Мы можем установить цифровой вывод с помощью простой переменной int;

как мне добиться этого с помощью аналогового контакта?

Я попытался заглянуть в основную базу кода arduino.h, но не нашел там ничего определенного для аналоговых выводов, поэтому я не уверен, как с этим справиться. У меня есть работа вокруг этого, но я не хочу пробовать это, не понимая этого.

//this we can do for digital pins

int pin = 0;

void someMethod(){
   pinMode(pin,INPUT);
}    

1 Ответ

0 голосов
/ 24 марта 2019

Значения таких вещей, как A0 и A1, представляют собой небольшие положительные числа, поэтому вы можете сохранить их в переменной int, если хотите.Использование uint8_t будет иметь больше смысла.

Вы можете увидеть, как эти имена определены для Arduino Uno (ATmega328P) здесь:

https://github.com/arduino/ArduinoCore-avr/blob/master/variants/standard/pins_arduino.h

#define PIN_A0   (14)
#define PIN_A1   (15)
#define PIN_A2   (16)
#define PIN_A3   (17)
#define PIN_A4   (18)
#define PIN_A5   (19)
#define PIN_A6   (20)
#define PIN_A7   (21)

static const uint8_t A0 = PIN_A0;
static const uint8_t A1 = PIN_A1;
static const uint8_t A2 = PIN_A2;
static const uint8_t A3 = PIN_A3;
static const uint8_t A4 = PIN_A4;
static const uint8_t A5 = PIN_A5;
static const uint8_t A6 = PIN_A6;
static const uint8_t A7 = PIN_A7;
...