Мега 2560 pinout не соответствует действительности
- Войдите на сайт для отправки комментариев
Пт, 14/02/2020 - 19:22
Всем привет.
Взял китайский клон 2560. Но не могу обратиться к портам. По цифрам обращения все нормально. Выходы звонятся на микросхему как и положено (что не удивительно). Аналоговый А0 - как в раскладке PH0.
А вот что удивительно, так это цифровой выход 7 вместо PH4 -> PH7 (!!!)
К лампе 13 - PB7 никак не подберу номер порта.
Как такое может быть? Кто-то сталкивался с таким?
Что делать, кроме как "выкинуть" или "взять оригинальную"?
вы бы выложили код, как вы обращаетесь к портам, а то помня ваши прошлые темы, возникает некоторое сомнение. Тем более что по номерам пинов ардуино, как я понял - все работает, а это было бы невозможно, если бы распиновка была неверной
Пина PH7 на Меге вообще нет, если я не ошибаюсь
вспомнил вашу прошлую ветку, где вы не могли понять смысл цикла while...
выкладывайте код, 100% ошибка в нем, а "китайская ардуина" не при чем. Если бы на плате была неправильная распиновка, то Ардуино ИДЕ так же бы путало выходы. А раз пины Ардуино не ошибаюсься - значит ошибаетесь вы.
"китайская ардуина" не при чем.
Не, ну виноваты-то всегда и во всём китайцы. Я вот как-то провода питания перепутал ... ну, не я же виноват, правда?
код, только для того, чтобы проверить входы-выходы
Если в этот код поставить значения, что напечатаны на плате - все работает.
вспомнил вашу прошлую ветку, где вы не могли понять смысл цикла while...
выкладывайте код, 100% ошибка в нем, а "китайская ардуина" не при чем. Если бы на плате была неправильная распиновка, то Ардуино ИДЕ так же бы путало выходы. А раз пины Ардуино не ошибаюсься - значит ошибаетесь вы.
Если только Serial влияет.
Нашел вторую плату, черную ))) аналогично
Про while кстати интересно. Я после нашел строчку на одном из сайтов, что цикл должен содержать условие для выхода из цикла. Ну вот нигде не встречал раньше этой важной фразы. С моим опытом догадаться до этого не получилось. Дал маху, было дело :)
Не, ну тут точно китайцы виноваты :-(
Не, ну тут точно китайцы виноваты :-(
Если я не напишу, что плата китайская, то сразу кто-то напишет, что нет фото, где взял и иди читай правила для новичков.
Что по сути вопроса? Не снизойдете до объяснения?
хм, а разве так можно?
pinMode() - это функция Ардуино ИДЕ, она на входе ожидает номер ардуино-пина , а не порт микроконтроллера.
Ботаник, вы чего добиться то хотите, используя обозначения портов МК в ардуино-функциях? Что вас не устраивает в обращении
например? Где-то вычитали, что через порты быстрее?
хм, а разве так можно?
pinMode() - это функция Ардуино ИДЕ, она на входе ожидает номер ардуино-пина , а не порт микроконтроллера.
Ботаник, вы чего добиться то хотите, используя обозначения портов МК в ардуино-функциях? Что вас не устраивает в обращении
например? Где-то вычитали, что через порты быстрее?
Спасибо.
Но как-то частично работает. Аналоговый не против, как минимум.
У меня кончились выходы на УНО, там код был как Вы в прошлый раз про сдвиги смеялись. Поставил Мегу и перестало. Идея понятна, этот код был только проверить порты.
Да, прочел, что с портами быстрее. Спрашивать каждый раз страшно, некоторые плюются ))
Спасибо, дальше сам.
Если я не напишу, что плата китайская, то сразу кто-то напишет, что нет фото, где взял и иди читай правила для новичков.
Что по сути вопроса?
Зеро Ботаник, а иожно как-то потише и повежливей? "Вы стоите на самой низшей ступени развития... " и далее по цитате. А перед вами люди с университетским образованием :)
Вопросы, с которыми вы приходите - каждый раз отдают таким невежеством, что даже новичку ствдно должно быть. А стоит вам сделать замечание - вы сразу в ответ кидаетесь.
И привыкните всегда в первую очередь искать ошибки у себя, а не в "китайской ардуине" и не в том, что вам кто-то забыл сказать, что из цикла должен быть выход :))))
Да, прочел, что с портами быстрее. Спрашивать каждый раз страшно, некоторые плюются ))
Спасибо, дальше сам.
Может, вместо того чтоб читать на заборе - учебник какой-нить изучите? От начала до конца? Вам не говорили, что это помогает?
Зеро Ботаник, а иожно как-то потише и повежливей? "Вы стоите на самой низшей ступени развития... " и далее по цитате. А перед вами люди с университетским образованием :)
Вопросы, с которыми вы приходите - каждый раз отдают таким невежеством, что даже новичку ствдно должно быть. А стоит вам сделать замечание - вы сразу в ответ кидаетесь.
И привыкните всегда в первую очередь искать ошибки у себя, а не в "китайской ардуине" и не в том, что вам кто-то забыл сказать, что из цикла должен быть выход :))))
И у меня есть образования. Два, бляха! И еще. Не буду писать. Но это здесь причем?
Да, я на низшей ступени программирования и в песочнице. Соответственно ожидаю, что как дураку разжуют или промолчат. Все просто.
И я знаю, что у меня ошибка. Зачем же я пишу? Только потому что САМ не вижу. Закройте к чертям этот раздел "для новичков" и проблем не будет таких.
Парни, обещаю. Я постараюсь как можно меньше вас всех здесь беспокоить.
Удачи всем!!! (искренне)
Тут нет личного кабинета? Или у меня плагины браузера режут? Я бы выпилился.
И я знаю, что у меня ошибка. Зачем же я пишу?
Если знаете - нафига этот идиотский заголовок про неправильный пинаут у китайской платы??? - вы сами себя на посмешише выставляете
Тут нет личного кабинета? Или у меня плагины браузера режут? Я бы выпилился.
не надо выпиливаться. Прочтите какую-нить книжку для чайников, подтяните основы - и ваши вопросы перестанут выглядеть идиотскими.
А если вы не начнете читать учебник - вы никакой проект по сайтам и видосам не поднимете - что на этом форуме, что на любом другом.
Не снизойдете до объяснения?
Нет. Если Вам лень прочитать описание функций типа digitalWrite и т.п. прямо на этом же сайте, то что я могу Вам объяснить? Повторять то, что там написано? А смысл?
И, да, кстати
Вот прямо здесь, на этом же сайте всё по-русски написано.
Кто Вам виноват, что Вы этого "нигде не встречали"? Китайцы? Или я? Ну, если я, то извините.
Может, вместо того чтоб читать на заборе - учебник какой-нить изучите? От начала до конца? Вам не говорили, что это помогает?
красивые книжки... не верю, что в ТРЕХ КНИЖКАХ не описания цикла while ^))))
проехали. Оставайтесь.
Я начал с нового года учить, есть там цикл и много всего. Может я тороплюсь. Может работа. Может еще что. Я в восторге от структуры С++, обожаю. Не хватает практических занятий.
Дэвис не понравился, бросил на половине, описывает с первого раза функцию main с аргументами и до середины книги не удосужился на примерах. Я только у Шилдта понял, что он там писал.
Шилдт обалденный, на сейчас больше половине. Но пошли указатели, слегка плаваю. Каждый урок с вопросами и разжованными примерами. Супер!
Ну а Ардуину дурак не перепечатал, но мне хотелось именно Блума купить, так как он это все начал.
Сейчас я в С++ прочел, что мне прям сейчас надо и начал "тренироваться на кошках". А сколько я ошибок делаю и сам ловлю. Я стараюсь сюда не писать, только когда понимаю, что стенка, сам не решу уже.
Zero-Botanik,
картинка красивая, но Вы не поняли что с этими предметами делать. Вам ведь сказали
Только не говорите, что Вы их читали. Если бы это было так, то в той, что слева, Вы непременно бы увидели вот такое:
Ну, а коль скоро Вы этого никогда и нигде не видели, ....
отлично, не сдавайтесь.
И еще совет - относитесь к глуму на форуме с юмором.У нас тут вообще люди не злые
Zero-Botanik,
Вы знаете, что означает слово "прочтите"?
Не, не знаю, Вы же не рассказываете.
Вот какое описание сработало у меня в голове:
Оператор цикла
while
или циклwhile
— цикл, повторяющий одно и то же действие, пока условие продолжения циклаwhile
остаётся истинным.// форма записи цикла while
while
(
/*условие продолжения цикла while*/
)
{
/*блок операторов*/
;
/*управление условием*/
;
}
Вы знаете, что означает слово "прочтите"?
Не, не знаю, Вы же не рассказываете.
относитесь к глуму на форуме с юмором.У нас тут вообще люди не злые
Вот +100500!
Прям уж и позмеиться в пятницу нельзя :-)
Вот какое описание сработало у меня в голове:
Оператор цикла
while
или циклwhile
— цикл, повторяющий одно и то же действие, пока условие продолжения циклаwhile
остаётся истинным.и чем отличается от того, что в книжке?
отлично, не сдавайтесь.
И еще совет - относитесь к глуму на форуме с юмором.У нас тут вообще люди не злые
Чтобы я сдался? ))) нет, только если неинтересно будет. Но не потому что не понял.
Знаете, это такая русская игра: подружись с авторитетом (это слово без любого негатива), стань своим и так далее. Вот тогда ты тоже "в стае".
Лично мне нравится формальный подход. Повторюсь. Песочница для меня - это место, где отвечают на любой идиотский вопрос, не принимая ничего во внимание. Я жду этого. Но нет. Я спрашивал на англоязычных форумах. Там конечно комфортно. Но много времени уходит на язык, русский у меня родной, хотя я там жил.
Я сейчас учу соседских детишек. Вне работы, по субботам. Плюс с английским тоже по-соседски помогаю. Никогда мне не придет в голову насмехнуться над ошибкой. Никогда. У меня два варианта: похвалить или обсудить. Очень тяжело. Но никто не знает об этом.
Миллионы дают совет: читай. А где?!!! Вот здесь ЕвгенийП давал ссылку, правда в других целях, но все ж ))) А обычно просто наотмашь. Для новичка это звучит как "иди в лес".
К чему я тут нюни распустил? Народ, я правда Вам благодарен, что Вы тянете здесь лямку. Но, бляха, юмор потом, когда проблема разрешилась. Заведите правило (моя рекомендация): новичок старается скорее всего. Или помогите, или сделайте вид, что упустили эту тему и не прочли.
Снукер вон идёт, Ронни играет, а я тут пишу.
Всем спасибо в любом случае.
Вот представляете, строчка под номером 5 меня зацепила. А сколько вариантов while я прочел и не сосчитать.
Вот +100500!
Прям уж и позмеиться в пятницу нельзя :-)
Можно и нужно, вовремя только ))
А ещё, вам стоит аккуратнее с типами переменных и их размерностью работать. У Ардуино всего лишь несколько килобайт ОЗУ
Вот это
int j = digitalRead(btn_dig);
прокатывает, но идиологически не верно.
digitalRead возвращает boolean, то есть переменная нужна boolean, размерностью в один байт (в составе структуры ее вообще в один бит можно упаковать), а вы читаете в int, размерностью в два байта, а в 32-х разрядных контроллерах в целых 4 байта. Программа то работать будет, компилятор это пропустит. Но зачем разбрасываться памятью? Да и смотрится это коряво.
Старайтесь осмысленно и явно описывать типы переменных. Это формирует правильное мышление, и убережёт от возможных ошибок в будущих проектах. Стоит почитать о типах/размерах.
Если бы новички старались, то все бы вели себя иначе. Увы, большинство приходят, чтобы спросить: "Дядя, а как этот текст с английского перевести?". При обсуждении начинают в бутылку лезть, объясняя, что форумы - это для того, чтобы им помогали переводить, а не учили всяким паст-перфектам. Поэтому всем последующим вопросителям сразу достаётся сполна, чтобы понять - тратить на них время или нет.
Можно и нужно, вовремя только ))
Так куда уж вовремянее? Пятница ж!
А еще в книге нельзя написать тупой вопрос, а потом книжка сама написала и расжевала ответ и в ротик положила. Тяжело с книгами у новичков.
За миллионы не скажу, а я лично читаю и на работе, и дома. На работе - по-тихому, а дома - уже открыто, практически, вызывающе.
О целях ЕвгенийП могу только догадываться, а вот по ссылке его книжку скачал и осваиваю. И со своей не университетской колокольни испытываю чувство глубокого удовлетворения от книжки Керниган, Ритчи "Язык программирования СИ" и чувство благодарности ЕвгенийП за рекомендацию. Он оградил меня от чтения всякой дребедени по ранее не освоенной мною теме.