Зачем объявлять аналоговые контакты как ints?

Я часто вижу код следующим образом:

const int piezo = A0;
const int sensorPin = A1;

Из моего понимания, переменная int может содержать такие вещи, как -123, 0, 1, 456 и т. д.

Как может A0 или A1 быть int?

2 голоса | спросил Flux 11 SunEurope/Moscow2016-12-11T01:30:03+03:00Europe/Moscow12bEurope/MoscowSun, 11 Dec 2016 01:30:03 +0300 2016, 01:30:03

2 ответа


2

В определении платы (pins_arduino.h) есть следующее:

static const uint8_t A0 = 14;
static const uint8_t A1 = 15;
static const uint8_t A2 = 16;
static const uint8_t A3 = 17;
static const uint8_t A4 = 18;
static const uint8_t A5 = 19;
static const uint8_t A6 = 20;
static const uint8_t A7 = 21;

Так как A0 - постоянная переменная, равная 14, если вы присваиваете это переменной, она просто назначает 14.

Другими словами:

A = 14.
B = A.
Therefore B = 14.
ответил Majenko 11 SunEurope/Moscow2016-12-11T01:42:11+03:00Europe/Moscow12bEurope/MoscowSun, 11 Dec 2016 01:42:11 +0300 2016, 01:42:11
1

Они определены в библиотеках Arduino, и библиотеки Arduino будут переводить их в соответствующие булавки и регистры до их использования. Но пока они цифры.

ответил Ignacio Vazquez-Abrams 11 SunEurope/Moscow2016-12-11T01:32:34+03:00Europe/Moscow12bEurope/MoscowSun, 11 Dec 2016 01:32:34 +0300 2016, 01:32:34

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132