это от незнание основ языка. 0xA4, A4 и "A4" не одно и тоже, т.е. A4 где-то обьявлено и надо было искать не analogRead, а A4 (и нашли бы файлик "pins_arduino.h"). найденое "int analogRead(uint8_t)" опять таки должно было намекнуть, что байтовое, а не какой массив числел/"символов". тем более сами же писали "byte thermistor[i] = {A0,A1,A2,A3,A4}". т.е. пишите и сами не понимаете, что обьявляя и создавая одномерный массив байтов, кроме как одиночные байты массив не хранит. A0 это вообще 54, 58 это A4 и от таких записей "byte thermistor[i] = {A0,A1,A2,A3,A4}" лучше уходить. под ардуино так "uint8_t i = 5; byte thermistor[i] = {A0,A1,A2,A3,A4};" откомпилирует, но от такого лучше сразу отвыкать - "i" в общем должна быть известна на этапе компиляции (иначе некоторые компиляторы просто выдадут ошибку) , т.е. через define или const/static const. можно машинально накосячить при внесении изменений "... i=5; byte thermistor[i] = {A0,A1,A2,A3,A4,A5,A6,A7};" "... i=5; byte thermistor[i] = {A0,A1};". в первом случае скорей всего выругается уже на этапе компиляции. если размерность массива больше, чем потом элементов в скобках {}, выдаст предупреждение/ошибку или что скорей всего, инициализирует вашими данными часть массива, а остальные элементы забьёт нулями или без инициализации значениями выделит место. иногда лучше писать так "byte thermistor[] = {A0,A1,A2,A3,A4}", а размерность или сами должны учитывать (в голове или храня константу/в переменной и быть внимательней, когда кол-во элементов меняете) или при необходимости она вычисляется в коде.
|