Оказывается пины A6, A7 могут использоваться только как аналоговый входы. Даташит на мегу 328 говорит что они используются как аналоговые пины. Об остальном умалчивается. Сделал проверку по-быстрому. Действительно pinMode INPUT_PULLUP, OUTPUT оно кажись не умеет - digitalRead всегда возвращает 0. Памятка себе - надо бы дорыться до истоков, а то вдруг просто кривость в библиотеках? Но времени пока на это нет.
Да, что на mini что на Nano 6 и 7 чисто аналоговые. Но ничто не мешает в софте сделать из них цифровые.
Факт мог бы быть занимательным, если бы Вы сообщили о чем нибудь недокументированном. А так Вы констатировали факт изложенный производителем в документации: . Кстати Вы не обратили внимание на пин #20, с которым, по аналогии с пинами #19, #22, связана так же только одна функция -- AREF (кстати в документации описание этих пинов -- AREF, ADC6, ADC7 -- идут друг за другом).
Т.е. 6-7 будут измерять более качественно, чем 0-5? Так задумано или оно на самом деле так получается?
Не спорю, в документации на atmega328 это есть. И именно там я ответ для себя и нашел Но для меня это было открытием. Да и заморочился я по этому вопросу оттого, что меня спросили: "Почему оно в Iskra Mini не работает как INPUT_PULLUP??! Я уже схему развел, мне надо пулап!". Теперь русскоязычному гуглу есть куда ссылаться для ответа на этот вопрос Еще, обратите внимание, в документации не сказано "Они не могут быть выходами". Там написано - используются для АЦП. К атмелу тут не придраться - все верно написали. Но чтоб понять, что они только для этого - надо задуматься. И на последок Раз даже в описании mini на arduino.cc об этом ничего нет, то и мне не грех побыть Капитаном Очевидность Себе в описание mini обязательно добавим.
а если писать программы на чистом СИ/С++ (arduino программируется на языке wiring) , то как обращаться к этим пинам
Ответьте пожалуйста. Так в итоге, могу ли я повесить кнопку на A6? Не осталось свободного пина для контакта SW энкодера KY-040. Назначил A6. Не работает. Может в библиотеке "GyverEncoder.h" можно подправить что?
можете, но только аналоговую. можно просто не использоватьбиблиотеку для этой кнопки и написать свое чтение кнопки - тогда будет работать