Чтение и интерпретация аналогового сигнала.

Тема в разделе "Arduino & Shields", создана пользователем Bitanga, 5 янв 2019.

  1. AlexU

    AlexU Гуру

    'A0' и '0' для analogRead -- это один и тот же порт -- нулевой вход мультиплексера АЦП. На плате обозначается как 'A0'. Тот же эффект будет, если использовать 8 или 14...
     
    Сусемьбек нравится это.
  2. Нет, не всегда. В некоторых ядрах добавили костыль для обработки такого варианта, в некоторых забыли. Поэтому писать надо A0.

    A0 не равно 0.
    #define PIN_A0 (14)
    static const uint8_t A0 = PIN_A0;
    https://github.com/arduino/ArduinoC...19ceb0b7078c/variants/standard/pins_arduino.h
     
  3. AlexU

    AlexU Гуру

    Если речь идёт про платы на базе AVR, то там нет такого -- "в одних ядрах добавили, в других забыли".
    В функции 'analogRead' сначала идёт проверка: номер порта меньше определённого значения (для UNO это 14) или нет. Если нет, то из номера вычитается это значение. Далее накладывется маска 0х07. Итоговое число и определяет номер входа мультиплексера.
    Поэтому можно передать 0, 8, 14 и любое другое, которое после вышеописанных операций даст результат 0.
    Но, конечно, лучше использовать либо '0', либо 'A0' -- будет меньше проблем с переносом кода на другие типы Ардуинок.
     
  4. parovoZZ

    parovoZZ Гуру

    Ничего ты не выяснил. За это время можно было открыть даташит (или учебник по AVR) и изучить работу АЦП вдоль и поперёк.
     
  5. parovoZZ

    parovoZZ Гуру

    А почему сразу не указать нужный вход? Для чего все эти костыли?
     
  6. Asper Daffy

    Asper Daffy Иксперд

    Нет, мы не об этом. Ты вообще, читаешь, что тебе пишут? Я ведь тебе ясно писал:
    Т.е. этот скетч должен ВСЕГДА печатать V равным 0, а V2 - без десятичной точки. А у тебя что на скриншоте?

    Вот это и называется, что ты показал нам скрин от ДРУГОГО скетча в котором ты, по незнанию, заодно и сутевые дела "подправил", а не только красивости. Вообще,это пахнет издевательством - люди тратят время, пытаясь разобраться. а ты им левый скетч подсовываешь. Когда обращаешься за помощью, будь любезен скопипастить точно ТОТ скетч и ТОЧНО то, что он выдал, а не туфту подфотошопленную.

    Так, что родной, давай-ка показывай адекватные скетч и выдачу, а не рассуждай тут про детективов, подсовывая людям какую-то левость.
     
    DetSimen нравится это.