Pull to refresh
8
0
Вениамин Кейвер @Stanislave26

Пользователь

Send message

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

Пруф не дам, давно читал — было одно исследование, проверяли есть ли корреляция между показателем заболеваемости шизофренией и значительно возросшим потреблением марихуаны после 60-х годов в штатах. Не нашли. Количество шизофреников в процентном соотношении — величина постоянная. Пока. Может очередной замер покажет иную картину.

А вот у нас гирлянда на ёлке — апофеоз новогодних праздников.
Бро! Так иди к DIHALT'у на сайт, там в принципе есть всё, о чём ты спросил, только может быть не в такой последовательности. Вот к примеру по обвесу контроллера — как раз и объясняется зачем кондёры ставить между vcc и землёй, зачем резистор, зачем катушка. Плюс такие тонкости относительно того же АЦП(точнее косяки на уровне чипа) на так всеми любимой атмега8 — там питание АЦП и VCC связаны внутри чипа, поэтому при использование кристалла для аналоговых замеров лучше брать другую модель. В общем и целом — там есть очень много информации, за что DI отдельное спасибо!
Вот та самая статья:
easyelectronics.ru/podklyuchenie-mikrokontrollera-likbez.html
и их там есть ещё!
Может даже тебе оттуда инфу взять, переработать и выложить статью здесь в соавторстве — я не думаю что DI будет против.
Что такое VAST, какие еще бывают стандарты в принципе оттолкнуться можно от этого.
Я если честно, то мог бы сейчас в очередной раз съязвить и постараться Вас подколоть — ну раз уж у нас с Вами такая традиция пошла. Но я не буду этого делать. Собственно потому что я может быть — нуждаюсь в Вас и в Ваших знаниях. Собственно я с самой первой статьи сказал, что я сам совершенно недавно понял всю эту кухню — и я продолжаю учиться каждый день — мне это интересно. В своём первом посте я писал
Дело в том, что я буквально несколько дней назад начал учить ассемблер с нуля — нужно сделать одно устройство

Именно с нуля. То есть изначально я в программировании был абсолютным нулём. Мне понадобилось сделать «одно устройство»(чуть позже я о нём более подробно расскажу) — я заинтересовался как это можно реализовать на микроконтроллере. Начал читать соответствующую информацию — и понял, что я реально сам смогу всё это сделать — и спаять и программу написать.
То есть изначально я не был программистом вообще -единственное, что меня связывало с программированием — так это небольшие поверхностные знания в PHP по совместительству, так как я достаточно хорошо владею вёрсткой и иногда на PHP нужно сделать какую -то мелочь вроде формы, анкеты, всяких мобильных редиректов и прочей пхп-мелочёвки. Я возглавляю веб-студию нашего местного медиахолдинга — по большему счёту мы делаем различные веб-приложения для собственных нужд, стримим онлайн-радио и тв на сайт, ну и поддерживаем сайты самого холдинга и его подразделений. Берём работу и на заказ — делаем сайты, интернет магазины, занимаемся дизайном не только для веб. То есть я был довольно далёкий до контроллеров человек. Но.
Я просто понял как это работает — и я хочу об этом рассказать таким же людям — как я. Тем кто только недавно заинтересовался этим вопросом, и ему действительно нужно понять и затем уже постепенно изучать от простого к сложному.
Вы в принципе правильно выразились
«объяснения ламера для ламеров»

я просто сразу не приметил. Но таких ламеров на самом деле очень много. Есть люди далёкие от программирования, электроники и техники — но они тоже читают хабр, и может им тоже хочется заняться чем-то подобным. Но они думают, что всё это очень сложно. Я пишу как раз для того, чтобы объяснить — что это не так сложно как кажется, и изначально просто нужно ПОНЯТЬ как это работает.
У Вас есть 3 возможности:
1. Продолжать делать facepalm, бросаться насмешками, критиковать.
2. Просто молчать, игнорировать.
3. Помочь мне — просто поправляя в тех моментах, которые Вам кажутся неточными.
Мне бы лично хотелось, чтобы вы выбрали третий вариант. Вы знаете достаточно много, чтобы не позволить мне допустить неточность даже в таких вот, простых описаниях. А раз Вы наши время, чтобы написать мне про мои «потуги» то думаю и время на то, чтобы написать какой-нибудь действительно полезный комментарий вы тоже найдёте.
Будем считать, что это очень хороший учебник «Ассемблер микроконтроллеров AVR для чайников» — который будет написан на понятном для чайников языке(мной) и проверен на возможные ошибки (всем сообществом хабра) Я думаю это будет полезным и интересным занятием — плюс оно позволит привлечь новых читателей и, возможно, даст кому то возможность взять в руки паяльник и создать какой-нибудь свой собственный девайс.
Сказали? Вас все услышали. Только Вы за себя говорите пожалуйста, а не за всё сообщество. Или у Вас раздвоение личности и Вы о себе во множественном числе говорите? Интересно читать что-то более содержательное — читайте, кто Вам мешает.
И пожалуйста, проверьте, может у меня ещё где-то ошибки есть. Я стараюсь их не делать, но я не идеален, а Вам похоже нравится проверять мои тексты на их наличие.
Спасибо всем! По комментариям я решил составлять статьи будущие как бы из двух частей — введение в основную тему статьи будет так же объясняться на пальцах, а потом в середине будет плавный переход на матчасть с сопоставлением, ну а потом уже будет конкретика.
И да, именно ассемблер для AVR я и буду освещать.
Думаю до конца этой недели я подготовлю штук 5 статей. Отпуск всё же. А в свободное время я как раз таки паяю, читаю и пишу.
И ещё у тестя отрыл 3 интересные книженции по радиоэлектронике и микроконтроллерам(1980-90-е годы издательства) так что возможно посты по ассемблеру и контроллерам будут перемежаться с постами по электросхемам.
Ещё нарыл книгу по радиоэлектронике 1947 (SIC!!!) года! Боюсь открывать…
Ну в принципе я так и хотел. Эти статьи направлены на то, чтобы привлечь людей — чтобы дать понять, что не всё тут так страшно и нереально. У меня куча друзей и знакомых которые считают меня либо гением либо свихнувшимся когда я что то им пытаюсь объяснить. Если человеку станет интересно и он просто поймёт какие возможности есть у микроконтроллеров то ассемблер или что-то более высокоуровневое будет уже скорее делом времени.
Сейчас куча людей совершенно не знают даже что такое процессор — для них высокие технологии — это такая штука, которой можно пользоваться — но в суть лучше не вникать. Недавно сидели вечером пиво пили — и товарищ так мечтательно глядя на материнскую плату- «Блин, вот а как оно там всё работает? Как вообще такое может быть, что ты кнопку нажал а на экране что то поменялось?» — а сейчас мы с ним вечерами платы травим, программаторы паяем, до тонкостей ещё не дошло, но думаю теперь это дело времени.
По поводу подачи материала — ну тут по мне главное воображение. Если просто на описываемую ситуацию взглянуть со стороны — то будет представление — но не всегда понимание. А если историю пропустить через себя — погрузиться в описание с головой — то сама логика сложившейся ситуации как бы «прошьётся» в голове и потом прикинуть всё то же самое уже в конкретном контексте можно будет автоматически. Поэтому и англичанин в комнате — потому что представить что ты сидишь за своим компом — очень просто — почти все, кто читает статью — уже сидят за компом — остаётся только разместить персонажей и всё готово — ситуация смоделирована. А если говорить более конкретно то получится, что человек, который никогда про регистры слыхом не слыхивал просто не знает как их представить — и из этого выплывают проблемы потом. Что нибудь нужно с регистром сделать — а человек представил регистр как какую-нить приблуду фантастическую и на уровне ассоциаций у него возникает ступор. Он этот момент пропускает и идёт дальше. А это не есть хорошо. Поэтому по мне лучше на пальцах объяснять, прибегать к помощи к Васе с Петей и вызывать иностранцев — но зато быть уверенным, что всё о чём я говорил было верно представлено. Ну а там дальше пойдёт код и всё встанет на свои места окончательно.
Но посыл я понял — я анализирую комментарии и стараюсь изменить статьи в лучшую сторону.
Со следующей статьи буду писать более конкретно именно про AVR. В связи с тем что половина людей просит писать в стиле «У Пети было 3 яблока» а другая половина наоборот критикует такое «детсадовское» предоставление материала — я буду в начале статьи коротко описывать саму суть проблемы на пальцах — а потом более подробно давать техническую информацию. Ну это после того, как про устройство микроконтроллера добью. Спасибо за полемику!
Да я не поддаюсь. Если тролль то просто игнор, а написал на случай если не тролль, чтобы объяснить, почему я буду игнорировать его комментарии.
Обязательно приму к сведению. Спасибо.
Видимо нужно было тему назвать «Как понять ассемблер на AVR» — я в начале поста написал:
«Сразу поясню что тема касается микроконтроллеров AVR — и я пока ещё не знаю, пригодится ли этот пост тем, кто хочет использовать ассемблер для любой другой задачи.»
Мне сейчас интересен именно ассемблер для AVR — потому что для моих задач контроллеры AVR — идеальное решение — они мощные, у них куча переферии, найти можно в любом «юном технике», стоят недорого, можно заменить модель без сильных головняков, датчиков и всяких навесных убердевайсов под них куча. Для конструирования устройств самое то!
И пост висит не только в хабе по ассемблеру — но и в хабе «прграммирование микроконтроллеров» И в «электронике для начинающих».
Я тут и дальше юзаю асм исключительно для AVR. Надеюсь что это временно=)
Оператор — это грубо говоря запуск этих токов по цепи, а директива это мануал для компилятора — который будет собирать твой код в прошивку.
Например есть такая директива DEF. Она позволяет нам взять и регистру R17 задать произвольное имя например TEMPERATURE — и потом пихать в него данные с датчика температуры(условный пример). По ходу написания программы — нам не нужно вспоминать в какой регистр мы писали данные в R17 или в R28 — мы просто забираем данные из TEMPERATURE. А при компиляции везде будет просто машинный код — например 001F.
Оператору ты просто суёшь 2 значения и он с ними делает то что должен. Даёшь оператору вычитания 2 регистра — он выполняет математически вычитание и записывает результат во второй регистр — тут ты просто приказываешь железяке вычислить значение своим АЛУ. У тебя было скажем в первом регистре 8 бит «01001000» — а во втором регистре другие 8 бит «11001100» — то есть фактически каждая единичка это 5 вольт в ячейке — а 0 — 0.4 вольта в ячейке. Когда ты пишешь оператор вычитания — то токи из ячеек начинают бежать через кучу транзисторов, меняют направление в зависимости от того в каком бите какой был ток — и в конце концов прибегают в совсем другом порядке на регистр в который записывается исходное значение. Теперь у тебя в этом регистре совсем другой байт — и он соответствует результату вычитания, если перевести в десятичную систему.
Оператор — это команда железке. Директива — описание того, что ассемблер должен сделать с командами и данными которые мы вводим. Как-то так.
опять же — в данном случае я немного по другому сделал — то есть первоначально в статье — был звонок в дверь — и это было прерыванием, а поход в туалет был бы другим прерыванием -с большим приоритетом. Но представил ситуацию я по другому, и не менее правильно.
Дело в том, что есть люди с техническим мышлением(ну там математическим, логическим) а есть с абстракционным(типа мыслить образами и т.п.) так вот почему то по умолчанию считается, что люди с абстрактным мышлением хуже вкуривают коддинг нежели технари. Вот я например прочитал у DI HALT'A статью его старую, которую он «чисто поржать» оставил — а вот мне она не только поржать доставила. Я прочитал её, а после неё оригинальную статью из курса по AVR. На примере звонка в дверь и туалета мне гораздо легче далась оригинальная статья по прерываниям — хотя там ничего сверхсложного и нет, но мне проще было представить что я пошёл открывать дверь и тут жесточайшим образом надавило на клапан — в результате пришлось отложить открытие дверей(общий цикл программы) уйти на прерывание в туалет, а снимая штаны крикнуть ОТКРОЮ ЧЕРЕЗ 5 МИНУТ! (что было бы аналогично подстраховке с записью содержимого регистра в стек) затем спокойно сделать дела, воспользоваться туалетной бумагой или сходить в ванну(обработчик прерывания) а потом спокойно идти и открывать дверь, при этом не беспокоясь, что тот, кто стоит за дверью подумает что меня нет дома, так как я ему крикнул что открою чуть позже.
То есть на пальцах понял суть > подучил матчасть. Мне лично так проще. Думаю кому-то тоже.
Вот теперь представь, что ты это говоришь человеку, который вообще ни разу программировать не пробовал, и даже не представляет что есть таблицы кодов, что есть библиотечные функции и как вообще эта память работает=) Ну просто мне не хотелось называть статью «Ассемблер для чайников» ибо это моветон, но по сути что-то близкое.
Ну вот опять началось. Не понять сопромат с точки зрения профессора по сопромату тоже может только идиот. А вы понимаете сопромат? Я рад за то, что Вы «король IT и очень хорошо разбираюсь в компьютерах.» Но если для Вас это семечки — пройдите мимо, будьте так любезны. Язвительные комментарии не люблю. Будьте так любезны больше не появляться в комментариях к моим статьям. Даже если Вы Бог ассемблера — то я в Вас не верю.
Ай, вы-ж ещё и ви-ай-пи! Как я сразу Вашу аватарку то не приметил!
1

Information

Rating
Does not participate
Location
Железноводск(Ставропольский), Ставропольский край, Россия
Date of birth
Registered
Activity