Параллельный порт (8 бит) в Ардуино. Как?

Valentinych
Offline
Зарегистрирован: 13.08.2014

Не могу понять, как назначить весь порт Меги2560 (8 бит, допустим, порт "А", "В", "С " или ...) Ардуины на чтение или запись (цифра). Стоит задача считывать сразу 8 цифровых датчиков Холла в устройстве позиционирования вращающегося вала. Есс-но, выходы датчиков - цифровые (лог. "0" или "1").

Аналогично нужно формировать 8-мибитное выходное слово для управления исполнительным механизмом.

Скажу "Большое спасибо!" за любую подсказку. 

Valentinych
Offline
Зарегистрирован: 13.08.2014

Нашел аналогичный вопрос (и ответы) тремя страницами выше. Если правильно понял, то можно дефайном задать и назначить на чтение/запись весь порт, и оперировать всем портом так же, как одним битом. Тем не менее, если будут какие-то дополнительные советы, буду признателен.

Коротко о решаемой задаче: управление низкоскоростным прецизионным 8-фазным синхронным двигателем с восемью датчиками Холла. Режимы: Старт-Разгон-Рабочий_режим-Подстройка_скорости(+/-10% от номинала)-Уменьшение_мощности_на валу(вплоть до опрокидывания ротора)-Стоп.

Алгоритм управления расписан довольно подробно, и частично был реализован на другой платформе. Теперь необходимо сделать все на Ардуино Мега2560 с добавлением канала внешнего беспроводного управления (вай-фай или блю-туз).

С Ардуино сталкиваюсь впервые, опыта, к сожалению, нет. Поэтому не знаю даже элементарных вещей, не говоря уже о готовых библиотеках, которые наверняка есть и для таких задач.

Так что с благодарностью выслушаю любые советы. А уж если будут конкретные рекомендации... :) 

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Valentinych пишет:

С Ардуино сталкиваюсь впервые, опыта, к сожалению, нет. Поэтому не знаю даже элементарных вещей, не говоря уже о готовых библиотеках, которые наверняка есть и для таких задач.

Так что с благодарностью выслушаю любые советы. А уж если будут конкретные рекомендации... :) 

Хм. Интересная задача! Боюсь решения для нее не существует.

Я вообще считаю что Ардуино это полный отстой. Почему человек покупает плату и не получает автоматически все знания о ней и ее окружении? Бардак!

Предлагаю организовать сообщество "FAQ и мануалы - только для лохов!"

Valentinych
Offline
Зарегистрирован: 13.08.2014

У любой задачи есть решение. Так же, как и из любой ситуации есть выход.

Где-то слышал, что даже если вас съели, у вас, по крайней мере, два выхода. Вы видите один. Я предпочитаю второй. :) Почему-то уверен, что кто-нибудь поддержит и мою точку зрения.

leshak
Offline
Зарегистрирован: 29.09.2011

Valentinych пишет:

Нашел аналогичный вопрос (и ответы) тремя страницами выше. Если правильно понял, то можно дефайном задать и назначить на чтение/запись весь порт, и оперировать всем портом так же, как одним битом. Тем не менее, если будут какие-то дополнительные советы, буду признателен.

Что значит "оперировать все портом как одним битом"? Бит это одно значение 0 или 1. 
"Весь порт" - это восем значений. Сразу. Поэтому фразу "портом как битом" - не имеет смысла. 
И "ничего делать не нужно".

Хотите "прочитать весь порт сразу", ну и читаете сразу PINB, скажем. Получаете сразу значение входов от 8 до 13-того.

 

Valentinych
Offline
Зарегистрирован: 13.08.2014

Позволю себе не согласиться с Вами. Бит, так же, как и байт (порт на "не Ардуиновском" языке) инвариантен. В этой части разницы большой нет. В одном случае - 2 варианта, в другом - 256. И оперировать (обрабатывать) можно как одним битом, так и всем байтом (портом). А "делать" мне нужно именно со всеми 8-ю битами. Так, по крайней мере, поставлена задача. Каждый отдельный бит из байта в данной ситуации не представляет никакого интереса. 

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

Обратившись за помощью, пусть даже в некорректной, с профессиональной т.з. форме, человек расчитывает на адекватные ответы. Если ты профессионал - поправь... Но зачем тыкать вопрошающего мордой в ... FAQ? Когда (и если) собеседники будут знать "поровну", не будет необходимости в общении. 

Если к вам обратится иностранец на ломаном русском - вы наверняка постараетесь его понять, и объяснить. Но уж в любом случае, не скажете ему - иди, поизучай русский, потом возвращайся, мо-быть потолкуем...

 

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Намекаю - Ваш вопрос звучит пока так: огурец картофель кресло? Ручка бантик промакашка?

Вы правда считаете что порчитав ФАК Вы будете знать столько же сколько старожилы как leshak?

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

А на каком "не Ардуиновском" языке байт == порт???

leshak
Offline
Зарегистрирован: 29.09.2011

Valentinych пишет:

Позволю себе не согласиться с Вами. Бит, так же, как и байт (порт на "не Ардуиновском" языке) инвариантен. В этой части разницы большой нет. В одном случае - 2 варианта, в другом - 256.

Да ради бога, не соглашайтесь. Мне-то что?

Valentinych пишет:

И оперировать (обрабатывать) можно как одним битом, так и всем байтом (портом).

Да вы что? А мужики-то и не знали. 
А вот написали-то вы другое: "оперировать портом как битом". Что вы там подразумевали под этим "как" и "оперировать" - одному вам ведомо. В общем виде это совершенно разные сущности. Следовательно перечень доступных операций - разные. И ваше утвержение - не верное.
То что вы себе представили какие-то конкретные операции, и провели "аналогии" - ну так кто вам в голову будет смотреть?
Это я уже не говорю, что байт и порт это тоже "немного не одно и тоже".

Valentinych пишет:
Правда, должен согласиться с Вами в другом - мой вопрос на старте топика поставлен не очень корректно. Но это именно потому, что не знаю ардуиновского языка.

Во первых "ардуиновского языка", если хорошо разобратся,не существует. Есть контроллер AVR, есть язык C++ слегка урезанный.
Во вторых, вы сами согласилсь что "вопрос поставлен не корректно". Именно на этом вам и указали. 
И не для того что-бы вас "повозить носом", а потому что "некорректная постановка вопроса", зачастую означает "некорректную модель в голове", а решить задачу использую неправильной модель предметной области - невозможно. 
И, открою вам тайну, программирование эта такая область где "неоднозначность" - смерти подобна. Поэтому она и вытравливается все-ми доступными способами из документаций, обсуждений, компиляторов и т.п.
И если она где-то "образовалась", то нужно разбораться и устранить, а не пениться..

Valentinych пишет:

Обратившись за помощью, пусть даже в некорректной, с профессиональной т.з. форме, человек расчитывает на адекватные ответы. Если ты профессионал - поправь...

Вас и поправили. Что в итоге?  Виноваты "поправляющие". Они не так вас поняли. Да еще поправили не так как вам хотелось. Видимо вы професионал в том как нужно оказывать помощь с профессиональной точки зрения. В какой форме и т.п.

Valentinych пишет:

Но зачем тыкать вопрошающего мордой в ... FAQ? Когда (и если) собеседники будут знать "поровну", не будет необходимости в общении. 

Вам видимо нужно еще узнать что такое FAQ. Если вы думаете что после его прочтения "собеседники будут знать поровну".
 

Valentinych пишет:

Если к вам обратится иностранец на ломаном русском - вы наверняка постараетесь его понять, и объяснить. Но уж в любом случае, не скажете ему - иди, поизучай русский, потом возвращайся, мо-быть потолкуем...

Если у человека "нет словарного запаса", а он пытается что-то мычать, то хош, не хош... а вы отправите набирать этот словарный запас. Хотя-бы минимальные 100 слов.
Ктому же, если строить верную аналогию, русский вам тоже не родной. Вы его тоже учили. Логично что вы будете пытаться направить человека по тому же пути который сами проходили? Особенно если вы видите что он имеет какой-то существенный пробел и вы знаете учебник где это объяснено... или не помните учебник, но все равно знаете видите что человеку нужно разобраться с каким-то временем. Или начнете ему объяснять грамматику, хотя видите что кроме слов "спасибо" и "досвидание" он ничего по русски не знает?

Где граница с которой можно отправлять в FAQ?  Если знает что такое переменая уже нельзя?  Или нужно начинать с сложения вычитания чисел, объяснять что такое модуль, что такое деление? Арифметику нужно тоже объяснять, или все-таки стоит отправить к учебнику средней школы? И это не приувелечение, регулярно тут встречаются проблемы решение которых находится в 5-том классе школы.
Обидно когда отправляют в начальные классы школы?  Обидно. Неприятно. Только "а что же делать". А два варианта есть:
1. Обидится, объявить хамами и тролями тех кто констатировал факт  (пусть и в грубой форме),
2. Таки взять учебник и пойти читать.

Вообщем похоже вы и так уже "знаете достаточно", чужие указания вам не очень нужны. Вы уже себе представляете "как должен выглядить ответ на ваш вопрос".
Ну что же... удачи вам. В ожидании более подходящих вам учителей.
Которые будут разгадывать "что же вы хотели сказать" и постоянно думать как-бы не зацепить случайно ваше ранимое эго.

Может быть и дождетесь.
Лично я - видимо не подхожу.
Простите что вмешался и обидел вас.

 

 

Leshiy
Offline
Зарегистрирован: 19.07.2014

Я так понимаю, вам надо читать\писать все биты порта за раз? То есть иметь на входе\выходе что-то вроде "10010110"? 

Valentinych
Offline
Зарегистрирован: 13.08.2014

Уважаемый leshak!

1) Я не обиделся. Ни на Вас, ни на JollyBiber. Четверть века общения в инете научили включать фильтры в нужный момент. Тем более, что я с большим интересом читаю другие Ваши дискуссии, и априори отношусь к Вам, как к грамотному специалисту в области программирования на Ардуино (других Ваших способностей, кроме как "ставить на место" новичков форума я еще не знаю). Более того, я Вам весьма признателен за такую манеру общения: она лишний раз подтверждает, что те, "для кого русский родной" общаться по другому не умеют. 

2) В первом сообщении я задал пусть не корректный, но вполне однозначный вопрос: "как назначить весь порт на чтение/запись". Вопрос возник потому, что все мурзилки для начинающих изучать Ардуину, которые попались мне на глаза, рассматривают именно входные пины, именуя их портами. В моем понимании "порт" - это совокупность из 8 физических пинов, объединенных общими регистрами. Для AVR, насколько я знаю, это PinX, PortX и DDRX.  Или я и здесь несу полную чушь? 

3) Вместо того, чтобы просто написать строку кода в качестве примера, Вы решили показать мне, новичку, "кто в доме хозяин". Придется принять это как неизбежное... Тем более (повторюсь), что другие темы с Вашим участием довольно читабельны.

4) То, что я сегодня не владею языком Wiring (впрочем, как и другими "верхними" языками программирования, т.к. до сего дня обходился ассемблером), не значит, что я не овладею им завтра, или через неделю. И не важно, с Вашей помощью, или без нее... Хотя, не сомневаюсь, у Вас есть чему поучиться, по крайней мере, на первых порах. Но манеры... :( Вынужден заметить: передергивать и НАМЕРЕННО переиначивать слова оппонента не очень красиво. А весь Ваш предыдущий пост - это сплошное передергивание и переиначивание моих слов. Что тоже подтверждает Вашу русскоязычную ментальность.

5) Предлагаю прекратить эту бессмысленную перепалку - она не несет конструктива. Давайте просто ценить время (свое и чужое), и относиться друг к другу не как к недругам, а как к единомышленникам, пусть даже выступающим в разных весовых категориях. Ведь жизнь может свести всех нас и в других видах... кхм.. спорта..., где роли могут поменяться на противоположные.

 

Valentinych
Offline
Зарегистрирован: 13.08.2014

Leshiy пишет:

Я так понимаю, вам надо читать\писать все биты порта за раз? То есть иметь на входе\выходе что-то вроде "10010110"? 

Да, именно так. Есть рассчитанная таблица состояний 8-ми датчиков Холла (всего 16 состояний), которая однозначно определяет последующий выходной код. Требуется прочитать текущую (реальную) комбинацию, и в зависимости от прочитанной комбинации состояний ДХ сгенерировать управляющий сигнал (тоже 8 бит) на исполнительный механизм.

Leshiy
Offline
Зарегистрирован: 19.07.2014
JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Программируете на Асме и не можете сформулировать задание? Бяда.... Если Вас не устроит считывание подряд и формирование байта из восьми бит из-за временного интервала, то прочтите нам лекцию по многопоточности на одноядерных процессорах.

Valentinych
Offline
Зарегистрирован: 13.08.2014

Leshiy пишет:

Вот, пожалуйста - http://arduino.ru/Tutorial/Upravlenie_portami_cherez_registry

Спасибо, этого я не видел.

leshak
Offline
Зарегистрирован: 29.09.2011

Valentinych пишет:

2) В первом сообщении я задал пусть не корректный,

Ну так почему же вы удивляетесь что это "назвали чушью"? Если из-за терменологической путаницы возникает "бред", то я не вижу другого способа привести к общей терминологии, как показать что "использование этих терминов делает осмысленные диалог невозможным".
Не прицеплюс к термину я - прицепится компилятор. 80% ошибок компилятора это "я не понял что ты хотел сказать вообще" или "тут неоднозначно что ты хочешь..". Вы не будете знать что искать в документации...

Valentinych пишет:

но вполне однозначный вопрос: "как назначить весь порт на чтение/запись".

Ну для вас он однозначный. Но.. задумайтесь, раз на эту "однозначность" зашипели более знакомые с платформой (причем не один человек), то может он не столь однозначен? Ну вот честно.... я лично вижу несколько вариации интерпретации этой фразы. 
Может вы режим сразу нескольких выходам хотите задать, может состояние выходам хотите задать... может еще что-то.
Конечно, такая "постановка вопроса", уже гораздо более информативна чем "оперировать портом как битом", там, лично у меня вообще возникало "это какой-то набор слов не несущий информации".

Valentinych пишет:

Вопрос возник потому, что все мурзилки для начинающих изучать Ардуину, которые попались мне на глаза, рассматривают именно входные пины, именуя их портами.

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

Кстати, про базовые примеры. В разделе програмирование (шапка сайта), объяснение как напрямую работать с выходами через порт, находится в самом начале и озаглавлено это, цитирую:
"Базовые и полезные знания, необходимые для успешного программирования под платформу Arduino:".

Ну вот честно, вы реально считаете что в каждой ветке, нужно повторять/объяснять то что уже вынесли в отдельный раздел, потратили время на перевод, оформление в виде статьи и т.п.?
Вы думаете я ни разу своими словами не рассказывал что такое порт и как с ним работать? Думаете нужно продолжать?  Сколько раз? 5-ть, 10-ть, 100 раз?  На каком разе можно все-таки отправить "почитать азы для начала"? Что-бы хотя-бы говорить на одном языке, и обсуждать действительно трудные вещи для понимания?
Ну, к примеру, почему не нужно делать проверок на переполнение, когда мигаем диодом с помощью millis() и т.п.? Но ведь, вначале, все-таки человек должен сам посмотреть пример. Попрбовать..

Кстати по поводу "русского стиля общения". Аббревеатуры  FAQ и RTFM возникли ведь совсем не в русском языке.

Valentinych пишет:

В моем понимании "порт" - это совокупность из 8 физических пинов, объединенных общими регистрами. Для AVR, насколько я знаю, это PinX, PortX и DDRX.  Или я и здесь несу полную чушь? 

Нет. Это звучит разумно. Ну правда для этого нужно закрыть глаза, что компилятор этого не пропустит из-за неверного регистра (а вот DDR -уже правильно написали). Но суть - верная.
То есть - "оно есть изначально". Эта паралельность. Бери и пользуйся. Записывай байт, читай байт. Поэтому изначально не понятно "что же вы ищите, все-же есть в базовом примере". Значит, скорее всего, вы хотите "чего-то другого". Но тут у нас вылазит озвученное "байт==порт", значит обяснение типа "прочитай байт из порта" - будут китайским языком... вот мы опять и вернулись что "нужна общая терминология". Которая берется... из базовой документации, которую, как-бы не хотелось - все таки НУЖНО читать.

Valentinych пишет:

3) Вместо того, чтобы просто написать строку кода в качестве примера,

А если эта строчка уже написана? В примере? Пример помещен в специальный раздел. Вам не кажется что требовать что-бы писали "персонально для вас" это немного "эгоистично"?

Valentinych пишет:

Вы решили показать мне, новичку, "кто в доме хозяин". Придется принять это как неизбежное...

Ну? И в чем проявилось что "я тут хозяин"?  В чем тут мое "хозяйствование"?  Такой же посетитель как и вы. Высказываться и доносить точку зрения мы можем одинаково. И ничего кроме слов - у меня нет.
Ну есть, если откровенно, конечно кнопка... :)  Но за все годы, я ни разу ее не применял кроме как для удаления откровенного спама (авиобилеты, форекс и т.п.). Во всех дебатах/баталиях (а бывают очень жаркие) - я такой же посетитель форума как и вы.

Valentinych пишет:

4) То, что я сегодня не владею языком Wiring (впрочем, как и другими "верхними" языками программирования, т.к. до сего дня обходился ассемблером), не значит, что я не овладею им завтра, или через неделю. И не важно, с Вашей помощью, или без нее...

Лично я способов "учить язык" кроме как большим количеством чтения, просмотра примеров, что-то ПРОБОВАТЬ самому - просто не знаю. Может я ограничен, но я действительно "не знаю другого способа". Я сам так учил... мне самому так отвечали на вопросы... мой "учитель" не разу не ответил мне ни на один вопрос типа "а как ты это сделал?". Тыкал рукой в книгу, и говорил "это там есть". И, в итоге - я благодарен ему.

Ну и... я не скрываю, что подход "просто дать готовое" - я считаю вредным. Более легким для "учителя", кодом выразить - гораздо проще, но... намного полезней направить челвоека что-бы он "сам нашел решение". И что-бы знал где и как искать ответы. Методология, а не "решебник" нужен.
Если еще глубже копать, то есть два подхода "ТО" (западный подход) и "не то" (восточный подход).
ТО - когда учитель говорит "как нужно".
НЕ ТО - когда учитель говорит только когда видет что ученик "пошел не туда" (ну и следит за тем что-бы не покалечился, и то - не всегда).

Оба имеют свои плюсы и не достатки. Я больше сторонник второго подхода. 
И если задается вопрос, на который можно ответить "а ты сам поставь эксперимент и проверь" - я всегда выберу именно этот вариант, чем дам прямой ответ. Хотя объяснение "как же самому это проверить", зачастую может занять в 10-ть раз больше времени, чем сразу "дать готовый ответ".
Зато человек будет уметь самостоятельно проверять свои идеи, подозрения, версии, искать причину проблемм...

Valentinych пишет:

Хотя, не сомневаюсь, у Вас есть чему поучиться, по крайней мере, на первых порах. Но манеры... :( Вынужден заметить: передергивать и НАМЕРЕННО переиначивать слова оппонента не очень красиво. А весь Ваш предыдущий пост - это сплошное передергивание и переиначивание моих слов. Что тоже подтверждает Вашу русскоязычную ментальность.

А вы не допускаете, что вас не "передергивают", а именно вот так "понимают"? Что это "отражение ваших слов"?
Что вот именно в таком виде, в искаженном, ваша мысль (какая-бы она правильная не была) дошла до других?
Может быть, конечно, в других "дефект", и они не могут понять правильно изложенную мысль, но может быть и...?
Тем более смотрите: вы чуток переформулировали свою задачу, после того как "вас ткнули носом", начали использовать термины чуть более строже и.... сразу получили "это звучит разумно". Уже вас, по крайней мере я, начал чуток понимать. Уже можно обсуждать "мелкие детали", типа portX - это неправильно, а PORTx - это вернее. 

"есть чему поучится" - но вы хотите сами решить "чему учиться". Вообщем-то имеете право.
Но.. моя мысль состоит в том, что конкретные знания (и мои в том числе) - ничего не стоят. Фигня они.
Они и набираются быстро и устаревают со скоростью поезда.
Единственно что действительно имеет ценность - это методология получения этих знаний. Способ обретения этих знаний. И именно этим я пытаюсь делиться.
И все советы которые я говорю "идите разбирайтесь, читайте то-то, напишите сами..." - все они из того "как я делал сам". Самый лучший это способ или нет - я не знаю. Но я владею только им. Принимать его для себя (и обращать ли внимание на мою писанину) - решать вам. 

А еще, раз через столько постов никак однозначно не могут понять, "что же вы хотите", то "сделайте это хоть как-то". Напишите кодом. Ну не знаете "как сделалать паралельно", ну напишите последовательно, потом спросити "а как одновременно?"  (и получите ссылку на пример :). 
Зато:
1. Видно что вы "сами пытаетесь", а не "дайте мне готовый ответ". (желание помогать - резко повышается).
2. Ну не знаете как через порты, сделайте через digitalWrite/readRead. Код - он по определению более однозначен чем естественный язык. Это сразу "шаг к конкретике "(на нехватку которой вы сетуете, почему же сами не начинаете переход к ней?)

Вообщем в любом случае расчитывайте что 90% усилий по "разбору проблемы", ожидается от вас, а не от тех "кто на форуме".

vdk
Offline
Зарегистрирован: 14.04.2013

Вот ведь зануда!

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Господин leshak сегодня в ударе :)

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

О как. И манеры тут и ментальность и лешак злодей. Передергивает гад. Лешак ты зачем ему передергиваешь?
Мне нравится последнее время волна что якобы на русскоязычных форумах, злодеи с русской ментальностью всячески тролят добропорядочных вопрошающих. Заместо что бы выдать готовое решение. Не вышло внушить что русская ментальность это водка с балалакой, так теперь всех в троли записывают. Оригинально.
Возникает тогда один вопрос, так какого хрена вы пришли на русскоязычный форум к злодеям с русской ментальностью? Валите тихонько по ветерку к буржуям, там вас накормят, оденут и обуют. :)

leshak
Offline
Зарегистрирован: 29.09.2011

vdk пишет:

Вот ведь зануда!

А я что, спорил кого-нибудь с этим? Кстати есть фирмы которые специально набирают в персонал (программистов) людей с синдромом Аспергера. Это "зануды в кубе". Именно потому что это позволяет писать более качественный код. Ради этого даже закрывают глаза на обратную сторону этой болезни: "характеризующееся серьёзными трудностями в социальном взаимодействии".

leshak
Offline
Зарегистрирован: 29.09.2011

JollyBiber пишет:

Господин leshak сегодня в ударе :)

Я еще не в угаре,
Не втиснулся в роль.
Как узнаешь в три пОста,
Кто - раб, кто - король,
Кто сильней, кто слабей, кто плохой, кто хороший,
Кто кого допечет,
Допытает, дожмет:
лешака новичок 
Или наоборот? -
Новичок, как всегда, притворился - святошей 

P.S. копирайт, конечно, не мой

Valentinych
Offline
Зарегистрирован: 13.08.2014

Как называется обострение в среде Ардуино? Не весна уже вроде, и витамины в достатке пока...

Такое впечатление, что на форуме сегодня только один Leshiy в адеквате. Не понял вопрос лузера - уточнил - дал вразумительный ответ. Остальные же как-то сильно перевозбуждены... Даже страшно за народ становится. Или это такая манера самоутверждаться?

Господа-товарищи! СпокойнЕе, пожалуйста, спокойнЕе! И свои советы "валить тихонько по ветерку к буржуям" оставьте при себе. Я уж как-нибудь и без таких советчиков, и советов... Замечания по существу всегда воспринимаю, но за/на откровенное хамство могу и ... 

В общем - всем спасибо за помощь. Душевные ребята собрались. Отзывчивые.

leshak
Offline
Зарегистрирован: 29.09.2011

Valentinych пишет:

Господа-товарищи! СпокойнЕе, пожалуйста, спокойнЕе! И свои советы "валить тихонько по ветерку к буржуям" оставьте при себе. Я уж как-нибудь и без таких советчиков, и советов... Замечания по существу всегда воспринимаю, но за/на откровенное хамство могу и ... 

Ой.. можно подумать вы будете первый кто Пухлявого послал :) Или меня.
Я частенько сам хочу его послать. А он меня. Но... "не посылается зараза". И я и он :)

А "адекватный Leshiy", который кстати тоже новичок,  по вашему где эту ссылку взял? Которую вы "не видили"? Да там же... в документации. Куда и я вас отправлял. Даже раздел подсказал в который смотреть. Может и еще какие-то примеры полезные там бы заметили (не "может быть", а точно там много "что вам пригодится").

Вообщем поверте "форумнуму опыту", чем больше вы будете расказывать "проходите мимо", "могу послать...", "нечего конкретного сказать - молчи"  - эффект будет прямо противоположный. будет еще больше обсуждений личности, ответных посыланий и т.п.

Чем скорее сами перейдете к конкретике, начнете свой код показывать, логи и, все-таки выполнять то что советуют (пусть вам и не нравится форма) - тем быстрее сможете войти в конструктив и сможете получать реальную пользу от форума, а не нервотрепку.
Таких как я или Пухлявый, переговорить на общих темах- все равно не получится. Единственный выход "отвлечь действительно технической задачей", а не задачей типа "подберите мне ссылки для чтения" или "погулите за меня". 

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Что ты можешь? Не делай мне смешно. Может он. Если бы мог, то хотя бы вопросы правильно бы формулировал. А так мозгоклюй ты обыкновенный, спросил сам не понял что и полез в бутылку с криками про русскую ментальность.

leshak
Offline
Зарегистрирован: 29.09.2011

Valentinych пишет:

В общем - всем спасибо за помощь. Душевные ребята собрались. Отзывчивые.

....оплеухи нужней поцелуев,

поцелуям мы знаем цену...

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Душевные или отзывчивые не важно. Просто не нужно лохматить бабушку. Мы можем и между собой разборки устроить, но это не значит что всякий новичек может пальцы с порога выгинать.

Valentinych
Offline
Зарегистрирован: 13.08.2014

leshak пишет:
Вы все время рассматирваете себя как "мерило правильности мира". Даже в этом случае, не знаю где вам попадались эти мурзилки, но лично я именование входных пинов портами - первый раз встречаю. Пины, выходы, разъем, ноги и даже "дырочки" - попадались. Но вот "порт", в таком контесте,  впервые. Как раз мурзилки чаще бояться страшного слова "порт" и приходится объяснять что "это не так страшно, как звучит", что по сути эта "особая переменная".
Обычно "мурзилки", все-таки начинают с чтения статей типа "знакомства с ардуино", просмотра хотя-бы базовых примеров... а там везде пины называны пинами, выходами, входами и т.п.

Да нет, уважаемый, это Вы (на данном этапе) возомнили себя "мерилом правильности". Вот, не поленился, скопирастил специально для Вас (отсюда: http://arduino.ru/Tutorial/DigitalPins): 

Цитата:
Цифровые выводы

Выводы платформы Arduino могут работать как входы или как выходы. Данный документ объясняет функционирование выводов в этих режимах. Также необходимо обратить внимание на то, что большинство аналоговых входов Arduino (Atmega) могут конфигурироваться и работать так же как и цифровые порты ввода/вывода.

...

Выводы Arduino (Atmega) стандартно настроены как порты ввода, таким образом, не требуется явной декларации в функции pinMode().

...

Если на порт ввода не поступает сигнал, то в данном случае рекомендуется задать порту известное состояние.

И далее, по тексту, неоднократно. Заметьте, речь идет именно об отдельных "дырочках", а не о 8-пиновых портах ввода/вывода . И это цитаты даже не из "мурзилки", а с главного русскоязычного сайта, посвященного Ардуине, т.е. - местные. Так что, в отличие от Вас, я читаю первоисточники, прежде, чем "ринуться в бой". И не выдумываю отсебятины. Так же, в отличие от Вас. Заметьте, даже называя вещи своими именами, я не навешиваю ярлыков (чем Вы грешите постоянно)!

Цитата:
Вообщем в любом случае расчитывайте что 90% усилий по "разбору проблемы", ожидается от вас, а не от тех "кто на форуме".
Опять ошибаетесь. В лучшем случае, "от тех кто на форуме" удается получить 1% усилий по "разбору проблемы". Остальное, как правило, приходится выискивать самому. И эта короткая, но так бурно развивающаяся ветка - лучшее подтверждение моим словам.

leshak
Offline
Зарегистрирован: 29.09.2011

Valentinych пишет:

leshak пишет:
Вы все время рассматирваете себя как "мерило правильности мира". Даже в этом случае, не знаю где вам попадались эти мурзилки, но лично я именование входных пинов портами - первый раз встречаю. Пины, выходы, разъем, ноги и даже "дырочки" - попадались. Но вот "порт", в таком контесте,  впервые. Как раз мурзилки чаще бояться страшного слова "порт" и приходится объяснять что "это не так страшно, как звучит", что по сути эта "особая переменная".
Обычно "мурзилки", все-таки начинают с чтения статей типа "знакомства с ардуино", просмотра хотя-бы базовых примеров... а там везде пины называны пинами, выходами, входами и т.п.

Да нет, уважаемый, это Вы (на данном этапе) возомнили себя "мерилом правильности". Вот, не поленился, скопирастил специально для Вас (отсюда: http://arduino.ru/Tutorial/DigitalPins): 

О!!! Ну вот видите. Значит, в итоге, мои труды не пропали даром. Вы уже сами нашли и ПРОЧИТАЛИ раздел документации про цифровые пины.
И даже смогли ткнуть носом в неудачный перевод. В оригинале (http://arduino.cc/en/Tutorial/DigitalPins) : The pins on the Arduino can be configured as either inputs or outputs.... Arduino (Atmega) pins default to inputs, so they don't need to be explicitly declared

Как видите, слово порт нигде не учавствует. Именно что-бы небыло путаницы, так как порты - совсем другое. Просто переводчик, видимо, не захотел делать кальку слова pin, и упустил что слово "порт" уже используется для другого...
Но.. в итоге, видите, вы смогли доказать правомерность своей точки зрения. Уже никто вас не обвинит в том что "вы не читали". И... опять я оказался прав, все-таки, вам попалась там "полезная статья" кроме той ссылки которую вам уже дали.

Ловите тогда еще, для чтения: AVR. Учебный курс. Устройство и работа портов ввода-вывода | Электроника для всех, раз вы доказали свое желание читать/разбиратся, пусть и для того что-бы "поставить на место", таких надутых индюков как я :)

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Не ну вот зато у нас есть новая шутка. Програмист на асме у которого бит способен принимать 8 значений. Нужно быстрей патентовать. Что бит что байт у него это один фиг. И не знать как писать или читать порт и при этом програмить на асме, как это вообще удается?

vdk
Offline
Зарегистрирован: 14.04.2013

leshak пишет:

А я что, спорил кого-нибудь с этим?

ну не настолько же!

Valentinych
Offline
Зарегистрирован: 13.08.2014

leshak пишет:
О!!! Ну вот видите. Значит, в итоге, мои труды не пропали даром
...

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

Ловите тогда еще, для чтения: AVR. Учебный курс. Устройство и работа портов ввода-вывода | Электроника для всех, раз вы доказали свое желание читать/разбиратся, пусть и для того что-бы "поставить на место", таких надутых индюков как я :)

Не льстите себе. Нет у меня ни цели, ни желания кого-то ставиль на место. Ни надутых индюков, ни пухлых котов, которые больше напоминают боевых петухов с куриными мозгами, и словарным запасом Эллочки-людоедки.

Но то, что Вы умеете признавать свои ошибки, пусть и в такой завуалированной форме, дает нам обоим маленький шанс когда-нибудь найти общий язык, и более интересный повод для общения.

А с работой AVR, в нужном мне объеме, я познакомился много лет назад по даташитам, и по самому первому изданию книги Евстифеева.  Дай Бог памяти, в каком это году...

vdk
Offline
Зарегистрирован: 14.04.2013

Valentinych пишет:

А с работой AVR, в нужном мне объеме, я познакомился много лет назад по даташитам, и по самому первому изданию книги Евстифеева.  Дай Бог памяти, в каком это году...

Таааак... а Мега2560 - это не AVR что ли?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

vdk пишет:

Valentinych пишет:

А с работой AVR, в нужном мне объеме, я познакомился много лет назад по даташитам, и по самому первому изданию книги Евстифеева.  Дай Бог памяти, в каком это году...

Таааак... а Мега2560 - это не AVR что ли?


Гыы не нужно ставить таких вопросов. У него и так память подводит и биты не стандартные.

Leshiy
Offline
Зарегистрирован: 19.07.2014

Химтрейлы сёдня особо жирные...

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Leshiy пишет:

Химтрейлы сёдня особо жирные...


Но по 5? А вчера по 3 но не жирные?

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Вы что никто не боитесь что он вас вычислит и ... ого-го... дык... ну эта...

вычислять будет видимо по IP, на всякий случай солью Пухлявого: 192.168.2.15

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

JollyBiber пишет:

Вы что никто не боитесь что он вас вычислит и ... ого-го... дык... ну эта...

вычислять будет видимо по IP, на всякий случай солью Пухлявого: 192.168.2.15


Сам напросился. Его ип 10.10.100.4
Вот.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

А мой 127.0.0.1

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

kisoft пишет:
А мой 127.0.0.1

Типа самый храбрый? :)

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

нам хана...

вдруг он и вправду может "и ..."

leshak
Offline
Зарегистрирован: 29.09.2011

Valentinych пишет:

А с работой AVR, в нужном мне объеме, я познакомился много лет назад по даташитам, и по самому первому изданию книги Евстифеева.  Дай Бог памяти, в каком это году...

Тогда, если честно, я вообще не понимаю "о чем эта тема".
Человек "знающий asm", знакомый с avr. По идее и маны читать должен уметь, и в документацию с примерами в первую очередь нос сунуть... да и порты и байтами путать - как-то странно. По идее в таких раскладах вы мне должны объяснять тонкости, а не я вам.
Честно, я верю вам, но.... понять как же, в таком случае, все эта ситуация стала возможной - для меня вообще загадка.
Мне кажется, в таком случае, вы просто действительно слишком мало времени потратили на ознакомление "что же вообще такое ардуина". Ждете в ней что-то "ардуинистое...". Пытаетесь говорить на каком-то "ардуино языке..". Вообщем искали "то чего нет".
Ардуино это "обыкновенный AVR" с точки зрения железа. С точки зрения софта - убогий текстовый редактор, который умеет запускать обыкновенный компилятор avr-gcc. Плюс некоторое количество библиотек готовых (использовать которые - никто не заставляет).
Ну еще добавили загрузчик. Который умеет принять свежую прошивку по UART и перепрошить камень. Что-бы чайнику не выяснять что такое фьюзы и не покупать программатор. Но если хочется программатором, как обыкновенный AVR-рки - пожалуста. Никто не мешает. Так как это и есть "обыкновенная AVR"-ка.
Так что если вы раньше работали с AVR-рками, 90% C-шного кода, привычек и паттернов - просто берите и пишите как вам привычно. Все точно так же. Никаких отличий. Более того, много "углубленных моментов" приходится искать не в доках на ардуину (которые не полны, естественно), а именно в даташитах, учебниках по AVR и C/C++
Если вы только на ASM-ме писали, то.... можете и дальше на ASM-ме писать. Компильнули там, чем вам привычно и залили с помощью, опять-таки, обычной avrdude... или чем вы там привыкли заливать в avr-ки...

 

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Лешак, не каждая ардуино является avr. :)

Valentinych
Offline
Зарегистрирован: 13.08.2014

leshak пишет:
Мне кажется, в таком случае, вы просто действительно слишком мало времени потратили на ознакомление "что же вообще такое ардуина". Ждете в ней что-то "ардуинистое...". Пытаетесь говорить на каком-то "ардуино языке..". Вообщем искали "то чего нет".
Именно так и есть. Сегодня первый раз взял ардуину в руки. Подключил, начал читать туторы... Смутило то, что выводы описываются только как отдельные пины, которые, вдобавок, называют портами. Подумал, что у Ардуины такой синтаксис или специфика. Решил спросить, как работать со всем портом сразу. Спросил... :)))

Программером себя не считаю, так как начинал когда-то программировать на Асме не много, да еще в Громовском Algorithm Builder'e сделал пару десятков небольших проектов. Вот и весь опыт. Языки высокого уровня не знаю - небыло необходимости изучать, т.к. в основном занимался железом. Возможно еще и это не позволило сразу корректно сформулировать вопрос. И хотя за четверть века работы в инете (еще с времен ФИДО) многое бывало, честно говоря, такой ответной реакции от ардуинщиков не ожидал... А хамить в ответ молодым на их хамство, возраст не позволяет... Но иногда очень хочется.

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Valentinych пишет:

... И хотя за четверть века работы в инете (еще с времен ФИДО) многое бывало, честно говоря, такой ответной реакции от ардуинщиков не ожидал... А хамить в ответ молодым, возраст не позволяет... Но иногда очень хочется.

Спалилися Вы дяденька. Работа в инете со времен ФИДО?!?!? Вы наверное еще и по ББС-кам через https лазили?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Valentinych пишет:

 А хамить в ответ молодым на их хамство, возраст не позволяет...

Возраст? Очень необычное имя для выдуманого друга. Что еще он вам запрещает? Не просит ли убить кого?

leshak
Offline
Зарегистрирован: 29.09.2011

JollyBiber пишет:

Спалилися Вы дяденька. Работа в инете со времен ФИДО?!?!? Вы наверное еще и по ББС-кам через https лазили?

Азарт вас подвел.
Был период когда bbs-ски, ФИДО (в довольно активном виде) и интернет (по конским ценам) существовали одновременно.
Так что.... фраза "интернет со времен фидо" вполне корректна и эквивалентна "ранний интернет на пост.совковом пространстве".
Еще тогда были такие выкрутасы ума как "offline интернет": uucp Чернова (да, да.. тот самый "червячок не дополз") который позволял, все-таки посылать/принимать почту на mailbox@domain.com и читать usenet конференции.

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Но-но! Дяденька сказали "работа в инете со времен ФИДО".

Valentinych пишет:

.... И хотя за четверть века работы в инете (еще с времен ФИДО) многое бывало....

2014-25=1989

Он ведь наверняка был крупным специалистом, другом и соратником Тима Бернса-Ли?

Существует конечно вариант что он был агентом КГБ и звонил по диалапу напрямую взарубеж, чисто на ирке посидеть.

 

Valentinych
Offline
Зарегистрирован: 13.08.2014

Плз, подскажите, где посмотреть пример скетча, в котором используются "полные" порты (все 8 бит) на чтение/запись. Интересует синтаксис записи.

И еще вопрос: я правильно понимаю, что нумерация аналоговых входов на плате Адуино Мега2560 от А0 до А15 соответствует пинам камня 97, 96, ..., 83, 82?

leshak
Offline
Зарегистрирован: 29.09.2011

JollyBiber пишет:

Он ведь наверняка был крупным специалистом, другом и соратником Тима Бернса-Ли?

Ну, вообще-то какой-никакая а кибирнетика в те времена была. И таки были люди которые в конце восьмидисятых чуток знали про интернет и сети. И таки, хоть и "хилое", но было и сотрудничество.

И... "не нужно включать дурачка". Вы свою биографию помните с точностью до года? Что-бы в бытовом разговоре нигде не ошибиться во временных промежутках?  Лично я - нет. Я не помню что я там когда закончил, где когда работал.... поэтому если я говорю "php не трогал 10-ть лет", то это не означает, что именно в 2004 году я последний раз кодил на нем. Это скорее означает "давно это было...".

И если человек действительно давно этим не занимался - мог и перепутать. Я вот тоже, когда-то, писал резиденты на асме под DOS. И что? Сейчас я про асм не помню практически НИЧЕГО. 

Ну да. Он совершил ошибки:
1. Не ознакомился с БАЗОВЫМИ примерами (а там и был ответ на его вопрос)
2. Невнятно сформулировал "что нужно", и... главное...
3. Начал "отгавкиватся", когда ему начали на это указывать, но....

За это его уже "обсмеяли". Но ведь, с другой стороны:
1. Человек таки предпринял НЕСКОЛЬКО попыток изменить формулировку своей задачи. Не сел "тупо на жопу", а все-таки пытался донести что же ему нужно.
2. Человек, все-таки, пошел читать документацию. Отстаивать свою точку зрения... разве это не должно повысить уровень уважения к нему, пусть и "подорванное" ошибками?
3. В конце концов, он нашел что "документация имеет неудачный перевод". Кто-нибудь из вас раньше обращал внимание на это? Знал? Лично я, теперь, благодаря ему знаю о "таком казусе". И при дальнейшем общении с другими новичками буду знать, о возможной причине "каши в голове". Человек может не понимать элементарных вещей, и слово "порт" не говорить, но... уже известно что возможна "типичная путаница".

Вообщем "да". Топик стартер таки сделал ошибки... что же теперь, плясать на его костях до конца жизни? Цепляться к КАЖДОМУ его слову?
Какова вообще цель этого цепляния? Просто "загноить", ради процесса гноения? или.... все-таки сделать "болезненным" нежелательное поведение, и поощрять (или хотя-бы выключать негатив) когда человек движется в правильном направлении?  

 

leshak
Offline
Зарегистрирован: 29.09.2011

Valentinych пишет:

Плз, подскажите, где посмотреть пример скетча, в котором используются "полные" порты (все 8 бит) на чтение/запись. Интересует синтаксис записи.

ну так Leshiy же вам ссылку дал. Чем вас те примеры не устраивают. Один - как режим порта выставлять, второй - как присать в порт. Сразу 8-мь бит....

Valentinych пишет:

И еще вопрос: я правильно понимаю, что нумерация аналоговых входов на плате Адуино Мега2560 от А0 до А15 соответствует пинам камня 97, 96, ..., 83, 82?

Опять-таки, по ссылки Leshiy, картинку видели? Озаглавленную "Atmega168 Pin Mapping"? По ней можено понять, как соотвествие ног камня и пинов дуины. Кстати для atmega8, 328 - оно не отличается.
Но...  у вас мега2560. Значит что нужно? Найти аналогичную картинку для мега2560. Неожиданная мысль (вы прямо как специально провоцируете поднятие волны "бу-га-га", чую "щас будет").

гуглим "mega 2560 pin mapping". Первая же ссылка вам даст и картинку, и табличку соотвествий готовую.
И никаких особых "ардуино знаний" для нахождения этого ответа - не нужно. Здравый всмысл. вдумчивое чтение статьи... и "спросить гугл".
Моей первой платой тоже была мега. И именно вот так я все и искал.

 

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Я уже спрашивал, но ответа так и не получил (или хотел спросить?): у Вас двойная мораль или двойные стандарты?

За исключением аксиом нужно иметь доказательства, к оным относятся факты. ТС привел цитату из доков - и все он прав! Я привел факты что его "работа" в инете 25 лет назад стремится к нулю со сверхсветовой скоростью - включил дурачка. И таки да, я свою биографию помню настолько чтобы не путать "25" и "15" лет. Как-никак 40% разницы. Кстати моей первой Ардуине исполняется на днях 10 лет. Ведь всем можно ошибаться, правда?

Вы пытаетесь всех стричь по свою гребенку - я такому методу с детства сопротивляюсь :)

Я может конечно (да наверняка!) не прав, но я сначала прочитал документацию, почитал ветки и только потом начал задавать глупые вопросы.

ТС пришел на форум и ведет себя как (х)удак (ч или м - на Ваш выбор)

Его жалкие попытки завуалировать свое хамство и быдловатость тянут на начальную школу для умственноотсталых.

Я, лично, его не гноблю и просто общаюсь в этой ветке в его стиле.