Сиськи!

Проголосовало: 166 | Воздержалось: 25

А теперь, когда вы обратили внимание: Я недавно нашел адский учебник по ардуино (в твердой обложке!), и понял что все хуже чем казалось. Отсюда опрос.
  • +2
  • 10 июля 2014, 14:41
  • dcoder

Комментарии (162)

RSS свернуть / развернуть
начал с mc9s12, потом stm32/xilinx, изучаю Zinq.
mbed попользовал для фана, Ардуину посмотрел несколько примеров, не придумал, как использовать. На AVR/STM8 не тянет, страничное обращение к памяти люто ненавижу после 32бит.
0
Надо понимать что конкретные названия языков и архитектур я влепил от балды, чтоб было.
На самом деле меня интересует: что-то простое как ардуино vs что-то сложное как голый МК
0
Что за учебник, где посмотреть?
0
А почему голый МК и ассемблер считается сложным?
0
по сравнению с ардуино
0
Учитывая, что ардуино — это С++, я бы сказал, что он сложнее ассемблера, и сложнее на порядки.
По сравнению с «голым МК» — проще только если глубоко не копать, за счет убирания ненужных деталей под абстракцию. Ну и на нем проще писать — код короче.
+3
Так не кто и не копает. Кроме редких исключений. Пользователи ардуины, это пользователи
0
Ты так говоришь, как будто в этом есть что-то плохое.
+2
А если начал с PIC с EasyPic а потом был программатор громова — а ассемблер не использовал, а ардуино попробовал не понравилось т.к. все равно придется переписывать.
0
Если точнее, я начал с asm на Pic, а после этого посмотрел asm AVR и начал Си изучать ))), но без Ардуино.
0
А где вариант «начал с дельфи и радиотехники в целом, в МК ничего нового»?
+2
  • avatar
  • Vga
  • 10 июля 2014, 16:16
Ну по идее, мне не интересно, что было до МК, поэтому считаем что ты начал сразу с работы с голым МК — а дальше уже один из подходящих вариантов
0
А мне после ПК уже без разницы на чем писать на МК. Ардуино удобнее, но и только.
0
Тема сисек не раскрыта. Что хоть в том учебнике такого ужасного?
+1
Тема сисек не раскрыта.
В этом не моя вина


Ужасное в ней то, что там учат пользоваться готовыми функциями из библиотек ардуино, даже не рассказывая как они устроены внутри. А еще вот это:
0
Покажите первые страницы, там где написано о чем и для кого эта книга. Если я не ошибаюсь, то это аннотация называется.
0
0
А, ну так это для школьников. Им если про регистры рассказать, то они сразу разбегутся.
Ужасное в ней то, что там учат пользоваться готовыми функциями из библиотек ардуино, даже не рассказывая как они устроены внутри.
Я думаю им это в институте расскажут или сами разберутся. В школе далеко не каждый это поймет.
Хотя да, в последнее время в школах очень неправильный подход к обучению программированию.
+4
Ща я одну книгу откопаю, тут все со смеху попадают.
+1
ну? где? :)
0
Нашел только электронный вариант книги, а там нет приложения — самого интересного. Там программа для расчета тепловых процессов. Написана на С++. Нет НИ ОДНОГО ЦИКЛА!!! Она полностью состоит из меток и операторов goto (если это не считать нормальным циклом). А сам автор часто хвастается как он в совершенстве освоил С++. Говорит, что пишет на чистом С++. Я ему показал программу с ООП — он это назвал бредятиной. За книгу, кстати, премию ему выдали.
+2
написать даже правильно не могут
теоритический материал
0

они патч положили. правда не знаю, во все ли книги
0
Хм, я бы сказал, что «пьезоэлемент» — более корректный вариант, чем «пьезодинамик»)
0
Хм, я думал, что учебник содержит какие-то основательные косяки и т. д.

А это учебник для школы, там важно заинтересовать и т. д. Как заметил Vga — традиционный подход «упрости задачу, взяв готовое».

Я, вот, например, когда изучал BASIC тоже не знал как устроена внутри реализация print. Я узнал, что эта команда делает. Сходу, смог применить свои «знания» написать «программу» из одной строки. О она ЗАРАБОТАЛА!!!1111 Это было круто, это мотивировало разбираться дальше.

Если бы я начал свое знакомство с ПК по книге типа «Внутренняя архитектура БК 0001» — я бы, наверное, плюнул на это дело через пару дней. Ибо скучно и неинтересно без практики.
+4
А еще вот это:
А что не так? Традиционный подход «упрости задачу, взяв готовое».
Ужасное в ней то, что там учат пользоваться готовыми функциями из библиотек ардуино, даже не рассказывая как они устроены внутри.
Строго говоря, на начальном этапе это не нужно. А для углубления познаний есть другие источники. Работа с регистрами — далеко не последний уровень детализации в вопросе «как помигать светодиодом», на эту тему еще Фейнман говорил.
+1
на эту тему еще Фейнман говорил
Что он говорил?
0
Посмотри ролик с названием то ли «про магнетизм», то ли как-то так. За пять минут Фейнман доходит от простого бытового вопроа до нерешенных проблем квантовой механики.
0
+1
Во, я так и подозревал, просто подумал может есть еще один Фейнман, который про МК говорил)
Я его как физика очень уважаю. Да и не только как физика. В университете по его книгам учились (Фейнмановские лекции)
0
Я его как физика очень уважаю. Да и не только как физика. В университете по его книгам учились (Фейнмановские лекции)

Важно, что он не просто выдающийся физик – он выдающийся популяризатор науки. Смотреть его лекции на порядок интереснее чем читать, ибо он очень интересно и с юмором преподносит материал. Вот моя любимая подборка.
+2
Ну зачем у бедных читатей культивировать веру в то, что «там все сложно»?
0
Не знаю. В конце концов, плохих учебников хватает. Из сотен (или тысяч) книг по той же дельфи годных всего две — Кэнту и Тейксейра с Пачеко. Полагаю, с ардуино ситуация не лучше.
0
rutracker.org/forum/viewtopic.php?t=3727280
По ней я учился. И еще есть Delphi 2, забыл авторов, отличная книга.
0
По тем страничкам, что приведены в примерах — как-то не впечатляет. Количество пиров тоже не впечатляет, так что сказать что-то более определенное пока не могу.
0
Опрос порадовал.
Про ардуину понятно.
Тема сисек не раскрыта.
0
«Полчаса готовился. А сиськи-то — где?» ©SWG :)
0
О откуда это? :)
0
0
А почему нет варианта с «С» вместо ассемблера?
Китайская ардуина очень хороша в плане аппаратной платформы. За небольшую плату получается «толстая» мега со всей необходимой обвязкой.
0
Своего варианта не нашел.
«Начинал с pic, потом AVR. Сейчас STM. Что такое Ардуино?»
+2
Сам опрос не репрезентативный. «ардуино» появилась относительно недавно, а народ здесь собрался, в основном, достаточно опытный. Большинство начинали изучать МК тогда, кода «ардуино» банально не существовала.

З.Ы. Требую пункта «Начинал с программатора для ПЗУ с пережигаемыми перемычками. С ручным побитовым вводом адреса и данных. Программатор Громова для слабаков» :)
+7
Ну ты дал жару :)
Не, я понимаю какая тут аудитория, но даже здесь есть много народу которые начали изучать МК как раз когда ардуина набирала обороты
0
Ну ты дал жару :)

Да ладно. Такой программатор был актуален даже в а конце 80-х. Но истинные эмбеддеры прошивали память на ферритовых кольцах (этого периода, правда, я не застал) :). Вот они именно «Прошивали», а мы тут с вами так, плюшками балуемая. Одно только слово «прошивка» и осталось, и то, не все знают откуда оно произошло :)

 много народу которые начали изучать МК как раз когда ардуина набирала обороты

Сугубо ИМХО, но такого народу здесь меньшинство. Плюс, есть разница между «набирала обороты» и «доступна в каждом локальном магазине»

Вот, честно, если-бы в период моего освоения МК было что-то аналогичное «ардуино»: с низким порогом вхождения, кучей доки, кучей готовых расширений в виде «шилдов» — я бы приобрел этот «конструктор» и писал бы от счастья кипятком.

А так да, можно сказать что я начинал, условно, «с программатора Горомова и ассемблера». Но не потому что это «труЪ», а потому, что другого выбора у меня не было.
+2
я вот как не знал ничего так и теперь не знаю :)
0
Нужен еще пункт: начинал с CPU 8080/MCU 8051 на ассемблере — перешел на Arduino.
+1
Начинал с программатора для ПЗУ с пережигаемыми перемычками.
:) Ну, чаша сия миновала, хотя некоторые однокурсники баловались и таким. 155РЕ3, 556РТ5…
Начал со следующего этапа, это когда УФ лампа целый день не выключалась, а парочка 573РФ6 (2764) стоила половину лаборантской зарплаты. И дохли они почём зря…
0
Сиськи
Добавил и сисек и котиков.
0
он так смотрит, будто бы недоволен
0
конечно — он же хотел бы оказаться с другой стороны ;)
0
В книжном магазине видел книжки (6-е и 5-е издание) заслуженного педагога ОС-строения и учителя Линуса Эндрю Таненбаума. Полистал сей толстенный том — для меня там ничего интересного — я это все итак знаю, но осилит ли такой талмуд современный старший школьник или студент, т.е. не скучно ли ему будет так много читать? Все-таки в наше время надо писать намного покороче, раз в 20/40 короче.

Кстати, в 6-м издании он рассматривает 3 основные архитектуры: Intel Core i7, Cortex-A9 TI OMAP4430 и ATMega 168. В предыдущем 5-м: Intel Pentium 4, SPARC и 8051.

Я думаю, что эту книжку про Arduino издали барыги, продающие комплекты Arduino школам, специально для школяров (начиная с 5-6 кл.). Попрограммировав Arduino в школе, большинство из них скорее всего после школы уйдут в офисы кодировать на HTML5 + Javascript или 1С, кто-то на Java для Android, а малая часть будет программировать PLC. В данном случае им совершенно не нужны «сакральные» знания о том, как программировать периферию уже устаревшего Атмел чипа на ассемблере.
+1
Кто бы моей школе, в свое время, продал аналог «комплекты Arduino школам, специально для школяров (начиная с 5-6 кл.)». Я был бы очень счастлив.

Попрограммировав Arduino в школе, большинство из них скорее всего после школы уйдут в офисы кодировать на HTML5 + Javascript или 1С, кто-то на Java для Android, а малая часть будет программировать PLC

Подавляющее большинство «из них» вообще не будут программировать. Да и что плохого в «HTML5 + Javascript или 1С, кто-то на Java для Android»? Вы считаете, что «программировать PLC» это единственный «труЪ» вариант?
0
Я просто предполагаю, что 95-99% кодеров/сисодминов/PLC-мэнов и т.п. просто не знают даже как устроен CPU, не говоря уже об MCU и электронике. А «HTML5 + Javascript или 1С, Java для Android» — это именно хорошо и за что кормят(будут кормить). В любом случае, возможностей у современного школьного поколения на 2 порядка больше, чем у тех кому сейчас 20-30 лет (в лучшем случае — старый Пень + бейсик/паскаль + полное отсутствие инета, деревянные игрушки, короче). Я так и не понял просто, что там такого нехорошего написано в этой книжке.
0
Т.е. я хотел сказать, что это не актуально уже, года 3-4 назад еще ничего: изучив по сайтам в инете электронику и MCU AVR парубок или 25-30-летний детина мог идти по улице среди толп спешащих граждан в просветленном состоянии — а я то знаю как ОНО устроено! Прямо как Перельман, заходя за булкой хлеба и пакетом самого дешевого молока в соседний с домом ларек.
0
изучив по сайтам в инете электронику и MCU AVR парубок или 25-30-летний детина мог идти по улице среди толп спешащих граждан в просветленном состоянии — а я то знаю как ОНО устроено!

А Вы знаете как ОНО устроено? Не описание регистров периферии в даташите, а именно «как ОНО устроено»?

Прямо как Перельман, заходя за булкой хлеба
Перельман (если бы говорим о авторе книг типа «занимательная физика») много сделал для популяризации науки, но он тоже не знал «как ОНО устроено».
+1
Тов. Эйнштейн — я про Гришу Перельмана!
0
А про Якова Перельмана — выдающийся популяризатор науки. Решил, что Вы так неудачно пошутили касательно « заходя за булкой хлеба».
0
«А про»  == «А я про»
0
Этого Перельмана я уже прошел очень давно, кстати его книжки до сих пор издаются, причем сразу 3-4 издательствами и в отличной полиграфии, правда по 300-350 рэ. Купил сыну 4 шт, но он их не читает что-то — зачем читать(такие «толстые» книги), если есть инет, т.е. точнее — youtube. О чем я и говорил выше — сейчас книжки надо по другому писать — еще интереснее и полезнее, но более сжато.

P.S. О детской лит-ре: 95% издаваемых книжек — книжки советских писателей: «Дядя Степа» Михалкова, Даниил Хармс, Николай Носов, Перельман и т.д. Вообще ничего достойного «свободные люди» так и не создали почти за 25 лет.
+1
:)

Я просто предполагаю, что 95-99% кодеров/сисодминов/PLC-мэнов и т.п. просто не знают даже как устроен CPU, не говоря уже об MCU и электронике

А Вы знаете как устроен CPU? Я Вот, например, тоже не знаю. Я знаю некий уровень абстракции, который мне нужен. См. выше лекцию Фейнмана.

 
В любом случае, возможностей у современного школьного поколения на 2 порядка больше, чем у тех кому сейчас 20-30 лет (в лучшем случае — старый Пень + бейсик/паскаль + полное отсутствие инета, деревянные игрушки, короче).

Ну, это логично, дети должны быть «умнее» (более адаптированны) чем их родители. И это шикарно, что у них есть больше возможностей. Что Вас не устраивает? Или Вы боитесь конкуренции с молодыми специалистами в профессиональной сфере?
+1
А Вы знаете как устроен CPU? Я Вот, например, тоже не знаю.
:)))) Троллите, сэр?

И это шикарно, что у них есть больше возможностей. Что Вас не устраивает?
Меня? Меня именно все и устраивает! Просто я не понял кипеша из-за Arduino и книжки про нее. И вообще, писать популярные книжки про кодирование, электронику и MCU уже не интересно и моветон. Я вот хотел бы написать книжку про вычислительные методы в высшей математике для школьников от 5-6 класса — вот это уже шик! :D

Или Вы боитесь конкуренции с молодыми специалистами в профессиональной сфере?
Я как ПЖ наоборот считаю, что их надо правильно эксплуатировать.
0
:)))) Троллите, сэр?

Но Холмс, как вы догадались? :)
0
А Вы знаете как устроен CPU?
Я долго размышлял о том, каков должен быть компактный(не перегруженный лишним), но полноценный курс для молодежи, чтобы понять: что же такое компьютер, и как он работает? Чтобы уже молодой человек фундаментально понимал и имел цельную картину всего этого, не скрытую за горами мелочей, которыми перегружены руководства/даташиты и т.п. Там получается очень много чего :D И архитектура CPU там находится в конце первой трети или половины всего объема знаний, а Arduino уже почти в самом конце его, т.е. после MCU и языка Си и элементов Си++.

Вот вариант, где безжалостно отрублены все лишние ветки и разветвления дисциплин, т.е. прямой, как стрела путь именно digital electronics for computing devices. Выбросив о-о-чень много, включаю всю аналоговую электронику и C/L и переменный ток.

1. Электротехника — I/U/R — законы Ома (Киргофа).

2. MOS(МОП) транзистор, ключевой каскад на нем.

3. Основные логические элементы, булева алгебра, CMOS реализация основных логических элементов.

4. Основные цифровые компоненты: дешифратор, мультиплексор, сумматор, ПЛМ, триггеры, регистры. Их реализация в виде чипов 74 серии.

5. Архитектура статической памяти SDRAM, ее основные сигналы и их временные диаграммы. Краткое повествование о принципе работы DRAM памяти.

6. Архитектура простейшего (8-бит) CPU, понятие стека, фон-неймановская и гарвардская архитектура, архитектура 32-бит RISC CPU, возможные способы адресации в CPU.

7. Язык ассемблер. Основные управляющие конструкции/паттерны на нем.

8. Основные принципы работы компилятора, язык Си, как замена конструкций на ассемблере.

9. Краткий дайджест понятий ООП на основе примеров на C++, Java, С#, Javascript и т.п.

10. Понятие MCU с уклоном в периферию — GPIO, UART, SPI.

11. Arduino.

12.… и т.д. и т.п.
0
статической памяти SDRAM
Вообще-то, SDRAM — синхронная динамическая. Статическая — SRAM. Впрочем, с точки зрения процессора они ничем не отличаются (кроме того, SRAM и DRAM варианты не исчерпываются — есть не только исторические, но и множество типов перспективной памяти).

Что до курса в целом… Выглядит как «ничего обо всем».
+1
Да, конечно же классическая SRAM! Опечатался, но ты сразу в меня вцепился :D

Что до курса в целом… Выглядит как «ничего обо всем».
Раздуй свой вариант, только учти, что любой вариант можно просто заменить положив перед учеником уже 4-5 готовых, толстенных талмудов, которые он скорее всего не осилит полностью и частично или полностью на все это забьет или просто получит легкое отвращение к сей науке.
0
Да в общем кроме как «все ни о чем» и «ничего обо всем» альтернатив и нет. Знать досконально более одного уровня проблематично.
Ну и разумеется институт в любом случае покроет только одну область. Я учился на «радиотехнике» и из перечисленного оно покрывает 1-4 плюс многое другое, но в другом направлении.
0
Я учился на «радиотехнике»
Что-то ты совсем не похож на радиотехника :D Я, лично, к ним отношусь с бо-о-ольшим пиететом, как к людям знающим «тайное знание», т.к. сам плохо в этом разбираюсь.

Да в общем кроме как «все ни о чем» и «ничего обо всем» альтернатив и нет.
Просто в этом списке, составленном мной, пункты имеют разный объем материала, а кое-где сильно пересекаются и перемешиваются по ходу прохождения тем. Например, ассемблер и архитектура CPU, язык Си и конструкции на ассемблере и т.п.
0
P.S. Что до талмудов — у меня только по программированию два метра талмудов. Это не считая книг в электронной форме. И где-то с половину этого я перечитал талмудов по электронике из библиотеки. Так что четыре-пять талмудов — это так, только распробовать основы.
0
Скажу тебе по секрету: ты все это мог почерпнуть именно только из 4-5 очень хороших талмудов, вот только человек в самом начале не знает какие именно талмуды или только какие главы из некоторых из них достаточно прочитать, пока сам не прочитает кучи бутора или плохого копи-паста, а подсказать обычно не кому.
0
Скажу тебе по секрету — все эти талмуды на разные темы и друг с другом не пересекаются.
Вот среди прочитанных книг по электронике повторов было немало, но и там непересекающейся информации больше, чем на 4-5 талмудов.
0
Я подозреваю, что ты был хорошим студентом, но видимо даже ты, 2/3 или половину из выше перечисленного доучивал почему-то уже после него, в том числе здесь :D
0
но полноценный курс для молодежи

Если бы я был той самой молодежью, я бы забил на курс и пошел бы «шпилить в дотку» где-то между законом Ома и цифровыми компонентами 74 серии.

Нет, академически все верно. Но скучно. Эту информацию будет воспринимать только человек, который мотивирован получать знания.

ИМХО, для широких масс более оптимален подход, где упор сделан на практику.

Типа:

1. Моргаем лампочкой! (и вот здесь рассказать, что это не «лампочка» а светодиод, и какого черта он моргает)
2. Добавляем кнопку!

И т. д.
+2
И получается примерно тот же курс, но в обратном порядке)
0
Да, что-то похожее и получится. Хотя больше получится «впремешку». ИМХО, так эффективнее. Рассказывать о работе транзистора есть смысл тогда, когда этот транзистор появится в схеме. Если начинать с голой теории — это скучно, плюс знания о «сферическом транзисторе в вакууме» быстро забудутся без практики.
+2
Как правильно сказал VGA:
И получается примерно тот же курс, но в обратном порядке)
Что явно хуже/дольше/мучительнее на порядок или два, чем прямой путь, как в моем варианте. Т.е. некий жаждущий, зависший в некой долгой рекурсивной процедуре, что-то(какие-то знания) кусками уже хранятся в стеке, но для каждого этапа не полностью — сплошные темные пятна, и только когда сей бедняга наконец-то докрутится в ней до конца — когда последний пазл мозаики встанет на свое место — только тогда произойдет долгожданное ПРОСВЕТЛЕНИЕ.
0
Кроме того, вышеуказанный курс рассчитан(если посмотреть внимательно) не на то, чтобы обучить/вырастить электронщика, а именно начинающего программера или MCU-мена с изначально правильно вставленными мозгами.
0
Т.е. электронику он должен уже доучивать отдельно.
0
то явно хуже/дольше/мучительнее на порядок или два, чем прямой путь, как в моем варианте.

Вот в этом и проблема. Прямой путь — логичен. Для Вас, для меня. Логично начинать с основ физики. Проводники, диэлектрики и полупроводниковая проводимость. Донорные и акцепторые примеси в кремнии, «дырочная» проводимость, модуляция базового перехода. Биполярные и полевые транзисторы, ВАХ, ключевой режим, конъюнктивная нормальная форма в Булевой алгебре…

Вы этим хотите привлечь ту самую «молодежь»? Не, я б «шпилил в дотку».

Вот, честно, я связался с компьютерами в свое время (БК-0010 в “Дворце Пионеров”) только потому, что это было относительно интересно, и ТАМ БЫЛИ ИГРЫ! А там, слово за слово, ненавязчиво изучил BASIC и пошло поехало. Если бы там говорили о «законах Киргофа и их применении к четырехполюсникам” — я бы быстро свалил, и пошел «шпилить в футбол».
+3
Э нет, Vga действительно одобряет именно обучение сверху, а не обучение снизу. Обучение в указанном тобой порядке имеет смысл только когда ставишь себе задачу разобраться в какой-то теме от начала и до конца. Ну и для институтов, возможно — хотя мотивированность студентов околонулевая, на курсе кроме меня хорошо если 1-2 человекам было не похуй.
0
И кроме мотивированности есть еще одна вещь. Человеку понятнее «вот дерево (10 часов про деревья), оно состоит из атомов (10 часов про атомы), атомы состоят из нуклонов и электронов (10 часов… ну ты понял)», чем «вот нуклоны (10 часов про какую-то непонтную НЁХ), они складываются в атомы (еще 10 часов про какую-то НЁХ, сделанную из НЁХ), а они складываются в дерево (опа, вот что это за нех была… а теперь идем перечитывать те 20 часов, чтобы вспомнить что за херь про них вообще рассказывали)...» — потому как в этом случае кирпичики уже сразу укладываются на место и увязываются с другими знаниями (а именно увязывание знаний — ключ к обучению).
+2
Я не говорю о обучении в школах или ВУЗах. Там работает академический подход к изложению материала. Потому, что обучаемый мотивирован. Ведь боязнь «получить» дома за двойку или вылететь из института – это сильный мотиватор. Хоть и не самый эффективный. Под этим соусом в добровольно-принудительном порядке можно скормить любой учебник, даже откровенно плохой.

Я говорю о случае факультативного- или само-образования. Когда у человека есть выбор: читать книгу о программировании МК или играть в игры на компе. Вот тут, да, человека нужно заинтересовать, скучная подача материала отобьёт желание обучатся.
+1
Эээ. Гм. Я не уверен на что ты именно отвечал, но на всякий случай уточню, что тот коммент, на который ты ответил адресован не тебе, а well-man2000 (если забыть ткнуть на стрелочку — то этого можно и не заметить).
0
если забыть ткнуть на стрелочку — то этого можно и не заметить

Упс, я действительно этого не заметил.
0
А я сперва думал, что ты ответил well-man2000)
0
Потому, что обучаемый мотивирован. Ведь боязнь «получить» дома за двойку или вылететь из института – это сильный мотиватор.
По моем, обучаемый больше мотивирован посещать и хоть как-то получать минимально необходимую оценку. Если для этого можно схалявить — схалявит. Я и сам халявил, и кое о чем из этого жалею.
+1
P.S. Когда же мотивирован именно на получение знания (скажем, понять архитектуру конкретного МК по даташиту или академическому курсу) — вот там действительно стараешься запомнить все эти кирпичики до тех пор, пока не получится их увязать в общую систему (которая всегда запоминается лучше, чем набор разрозненных фактов). Но для этого нужно приложить усилия (которые бы возможно и не потребовались, если бы кирпичики изначально излагались во взаимосвязанном виде — примерно как в вики, где на каждый непонятный корпичик можно тут же ткнуть ссылку).
+1
По моем, обучаемый больше мотивирован посещать и хоть как-то получать минимально необходимую оценку. Если для этого можно схалявить — схалявит.

Да, я это и имел ввиду.

Я и сам халявил, и кое о чем из этого жалею.

Думаю, все халавили (в большей или меньшей степени), если была такая возможность. Я вот тоже кое о чем жалею.
0
Я просто предполагаю, что 95-99% кодеров/сисодминов/PLC-мэнов и т.п. просто не знают даже как устроен CPU
Вообще, МЭК-языки на это определенно намекают.
0
уж лучше студенты делают на ардуине чем на «ЛОГО» пользы больше будет.

А ардуину у меня даже тесть освоить смог, правда долго, печально и странно получилось, но нужную поделку сделал и работает.
0
Я думаю, что эту книжку про Arduino издали барыги, продающие комплекты Arduino
Если внимательно прочитать первую строчку аннотации, там так и написано — «Амперка». Простое телодвижение — и та-даммм! да, это таки барыги, которые продают и ардуину в том числе. ЕМНИП, именно с ардуины они и начинали — на хабре они писали как все начиналось.
0
Аннотацию? Да это прямо на обложке написано, причем так, что даже гуглить не требуется — уже ясно что это от барыг, торгующих ардуино)
0
Обложка в топике не показана.
0
Показана, причем раньше, чем странички.
0
ааа… Я просто по ссылкам не ходил.
0
Как-то пунктов маловато, не всеохватывающе.
Я начал с голого МК и Си, хотя ассемблер для меня проблемой не был. На Си просто писать удобней. Про Ардуину вообще не знал, пока несколько годов назад не зашел на этот ресурс. Да и не было ее тогда, когда я начинал… А сейчас мне она не актуальна вообще.
+2
Не голосовал, моего случая нет.
А начал c самодельной отладочной платы на мега16 и avr-gcc (ассемблер для для тактодрочеров). Первый программатор был 5 проводов lpt, потом стабилитроны в serial и т.д.
0
голосовал, у меня похожий случай: тоже самопал на 16 меге и 5 проводков, но асм (таки да, с удовольствием надрачивал на такты), так и не собрал громова или просто чего поприличнее — перешёл на стм8, сейчас от электроники отошёл вследствие занятости (надеюсь, временно).
0
Ща меня конечно с удовольствием попинают, но… Таки завел в хозяйстве разных ардуйней по нескольким причинам.
1) собранная китайская ардуйня получается по цене голого контроллера локально. Даже с промини можно сдуть еще пару светиков, кварц, лдо, пару танталов. И даже ехать никуда не нужно — прогуляться до почты.
2) все эти вайриш-подобные чертовски удобны для быстрой проверки идеи. Например написал print.serial и погнал в уарт, или analog.read и читай себе. И не нужно инициализировать, подключать какие-то там библы, вспоминать особенности работы на конкретном контроллере… Но это именно для по-быстрому и из говна и палок. ИМХО, понятно.
+4
Но это именно для по-быстрому и из говна и палок. ИМХО, понятно.
По моему, оно во многих случаях вполне подходит и для продакшена. В тех случаях, когда не планируется поставить в конечное изделие более мелкий МК и производительности хватает.
0
Тут уже начинается весьма скользкая тема для обсуждений. Начиная с того, что понимать под
для продакшена
.
И про
и производительности хватает
почему-то вспоминается история одного байта… ;)
0
почему-то вспоминается история одного байта… ;)
Здесь как раз ардуино полезен — его можно выпилить и освободить место для новых требований)
Начиная с того, что понимать под «для продакшена»
Я подразумевал устройство, сделанное для конечного использования. Не прототип.
0
Здесь как раз ардуино полезен — его можно выпилить и освободить место для новых требований)
Я несколько о другом. Ну да ладно.
Я подразумевал устройство, сделанное для конечного использования. Не прототип.
Ннууу… См.п.1. Смотря что под этим понимать.

Если коротко. Я вполне принимаю ардуйню в довольно узкой нише — прототипирование, например, когда ресурсов заведомо избыточно. Или (опять-таки, когда ресурсов завались) даже в конечном устройстве когда 100500% известно, что расширять/дополнять это поделие не придется. Это еще ладно.
Но когда в ардуйне пишут, потом появляются новые требования и ресурсов не хватает и вместо того чтобы оптимизировать берут просто следующий камень — казнить, нельзя помиловать.
С одной стороны хочется устроить крестовый поход против бездумного использования.
Но остыв и чуть-чуть подумав…
С другой стороны я очень даже рад такому распространению ардуйни.
0
Но когда в ардуйне пишут, потом появляются новые требования и ресурсов не хватает и вместо того чтобы оптимизировать берут просто следующий камень — казнить, нельзя помиловать.
Возможно, для одиночного изделия это экономически выгодней?
0
Одиночное изделие — совсем не продакшен, а именно что прототип. Ну максимум макет. Ну максимум-максимум поделие.
0
Ну если понимать под продакшеном только серию… Но я считаю, что единичное изделие, ушедшее в эксплуатацию — никак не макет.
0
одно дело ты мелкосерийно делаешь изделие или под какие-то извращённые требования например для газовиков и нефтянников. И другое разовое изделие за минимальные сроки и с минимальными ценами.

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

Во многих проектах повторяются типовые решения, так почему их нельзя делать готовыми блоками? Причём по цене ардуиновские блоки часто оказываются дешевле деталей россыпью или меньше из-за заводских плат.
+1
Цена на ардуиновские блоки как раз таки очень завышена. Где то тут была ссылка на ардуино-модуль резистивный делитель за пару сот рублей.
Ардуина хороша именно как игрушка-конструктор с низким порогом вхождения. Хороша чтобы заинтересовать далеких от электроники людей и побудить их к углубленному изучению микроконтроллеров и схемотехники.
0
Где то тут была ссылка на ардуино-модуль резистивный делитель за пару сот рублей.

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

Например, вот достойный пример — дальномер за 1.81 доллара. Но есть и примеры жадности, например, энкодер за 2.63. Все зависит от жадности продавца. Но создание самого рынка «шилдов» ИМХО, позитивный момент.
0
Видел еще (вроде) довольно дешевые шилды с SHT11 и BMP085 на buyincoins.com (что-то около 3-4 баксов, сами датчики у нас ЕМНИП дороже).
+1
Да, особенно это касается специфических датчиков типа всяких MEMS.
0
Нет варианта. КР580ВМ80 когда учился, трансляция с ассемблера в коды вручную. Потом AVR c byteBlaster, дальше — больше.
0
Начал с К580, программирование в кодах, затем ассемблер, к диплому налабал уже 8КБ бинарник. Походу дела, юзал немного ZX Spectrum. Потом ушел в программеры. А через много лет увидел статью про Ардуино, решил вспомнить детство, купил, попробовал, потом PinBoard II + STM32, теперь на TI подсел, хоть и не блещут, но показались интересными.
Выбрал более или менее близкий мне вариант «Начал с ардуино, потом изучил AVR/STM/etc. Использую дуину чтобы быстро что-то накумекать»
0
внезапно habrahabr.ru/company/makeitlab/blog/229345/
обзорчик наборчика
теперь я проглядываю несколько страниц хабра, а раньше почти каждую статью читал
0
книжка конечно шикарна
жалко у меня в детстве не было таких красочных и понятливых книжек
приходилось читать быдлоталмуды, где ничего не понятно
0
Судя по скриншотам, мне она тоже понравилась, и я уже заказал ее. Когда придет посмотрю, но на первый взгляд — очень неплохо оформленный копи-паст и краткий дайджест именно для детей. Хотя, как я понял из комментариев к этой хабровской статье — там масса дядечек заинтересовалось этим наборчиком, именно для себя :D Интересно еще то, что они даже не знают, что это все можно купить у китайцев в 2-3 раза дешевле.
0
ну я бы тоже купил, уж больно оно хорошо сделано и книжечка как раз заставляет все это купить
а масса дядечек на хабре — обычные быдлокодеры для веба или андроида
для них это игрушка на пару раз или подарок такому же быдлокодеру
мне один такой старый знакомый как-то и написал, что он теперь играется с контроллерами
кстати книжечка говорят там в пдф где-то лежит
0
теперь я проглядываю несколько страниц хабра, а раньше почти каждую статью читал
А почему?
0
да все просто
для каждого человека по мере проживания его жизни все окружение меняется относительно него
т.е. сам по себе хабр как был так и есть, но по отношению лично ко мне он скатился в сраное гавно
т.е. на нем редко появляются интересные лично для меня статьи

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

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

у меня на диске было куча лекций разных и мне казалось, что они будут актуальны и лет через 10-20 я посмотрю их
но прошло 5 лет и я перебирал там файлы и стер все эти десятки гиг вместе с музыкой и аудиокнигами
0
Воздержался. Начинал с AVR и программатора FTDI (был ноутбук, так что комп и лтп отпадает для программирования мк и по этой причине usbasp тоже). Правда плату было весело под нее делать, мой первый мелкий чип и не было лазерника. Пришлось плату разводить сд маркером и швейной иглой. Ардуино пробовал, заливал в мегу8, но забил по причине прожорливости (все-равно си и асм рулит). Пишу потихоньку на си, в асм слабо разбираюсь пока. STM32 лежат, программатора нет (в планах было заливать через UART), но руки не доходят до них.
0
usbasp
А он здесь причем? Он же USBasp.
0
Проблема курицы и яйца
0
i8031+РФ5, at89, pic16, atmega8, tms320, lpc17, stm32.
Ардуино еще не применял. Под разные задачи — разные процессоры. Главное ведь идея, если ее проще реализовать используя какие-то готовые решения, то такими вариантами нужно пользоваться. В том числе и ардуино
+1
Блин, опрос какой то, надо было много пунктов доступными сделать. Так по факту выбрал бы 1й. Но проголосовал за последний, так как у меня был LanchPad TI и надоело, что он пылится(изучать камень было не охота). Но, если бы не знания asm, и опыт с авр хрен бы я сделал даже этот проект, потому что родная среда ардуино уг.
0
Если совсем честно, начал с 580ВМ80 на лабораторках, Z80/Spectrum дома, потом таки да, программатор Громова (а что это такое? :), асм (алгоритм билдер), а потом MSP430 и си, никаких асмов
0
После «Специалистов» и «Спектрумов» (в основном на продажу, но не только) был длительный перерыв. Потом — AT89S, вслед за ними MSP430, потом снова 51, но уже филипсовские и мегавиновские, сейчас силабсы и STM8, в ближайшей перспективе — кортексы-М0, пока ещё неясно, чьи (там решаю не только я, стоит выбор пока что из 5 производителей).
Так сложилось, что AVR прошли мимо. Несколько мелких поделок вспомогательного плана не в счёт. А ардуины только в магазине видел, удивился цене и ушёл. :)
0
Простите что влезаю в спор. Но зачем тем кто пишет програму для ардуино знать как устроен камень? Им нужно знать какие у них порты и что к ним подключено.
Уровень абстракции им позволяет не заморачиваться за техническую реализацию проекта.
Там есть стандартные библиотеки для разных плат и периферии. Достаточно подключить нужный драйвер и использовать нужную плату.

Это как в компьютере, не надо заморачиваться за драйвер порта или расположение данных в памяти и регистры ЦП. Для тех кому надо выжать из конкретной архитектуры все 100% мощности есть низкоуровневое программирование. Для тех кому надо получить готовую железяку с минимумом затат времени есть высокий уровень абстракции (на компе написать софт под операционную систему или во встраиваемой технике использовать ардуину или одноплатный комп.)

Так что каждому изделию свою нишу.
+2
Эммм, тут сложнее всё. Ибо электронное изделие, это тебе не софт, и зачастую мало знать что к порту подключено, но надо знать, а что это и как работает, а даст ли помехи, а где подтяжки, а не выжжет ли порт, аа ААААААА!!! ПОЧЕМУ НЕ РАБОТАЕТ СЦУККО!

Кстати дурина — это вообще не имеющая отношения к производству весч, это довольно дорогой конструктор, именно конструктор, рассчитанный на людей, которым вроде как интересно, но не на столько, чтобы разбираться, а сделать что то прикольное хочется. Для быстрых поделок без затрат, дурина слишком дорогая.
Ну а про код, и готовые библиотеки. так там вообще отдельная история:)
0
Помню в своё время, я с начала собрал LPT программатор, по схемке с сайта понипрога, потом расспросив преподавателя в универе, сделал первую отладочную плату под ATmega8535, и только когда и то и то у меня была в руках, я написал первую программу на асме в VMlab, где копировал состояние порта настроенного на вход, и повторял его портом, настроенным на выход. Потом пошли прерывания, сделал ваще кайфовые двоичные часы :D Ну а потом уже начал изучать «С», и написал диплом на AVR :)
Так что да, дурина доля слабаков :D
0
Так то ты был студентом и времени ковырятся со всем этим у тебя было навалом.
Когда я впервые столкнулся с радиоэлектроникой в моём городе найти микроконтроллер можно было только выпаяв его из китайской поделки.
Попытки делать что-то на рассыпной логике у меня быстро загнулись, потому что для этого надо было или учителя найти или учится где-то.
Потом появился интернет и возможность купить AVR. Однако сейчас уже это только хобби и время выделяю по остаточному принципу.
вот оно так тоже бывает.
0
Ты же вроде в Ебурге живешь? А там давненько уже есть где можно нормально закупиться деталями. До интернет-магазинов периодически в Промэлектронику ездил.
0
Я на постоянную работу устроился только когда женился :)
А до этого только эпизодически работал.
Поскольку в моей жизни был эпизод секс, наркотики, ролевики.
Теперь вот начал социализироваться в цивильном обществе :).
А оплатить сам себе учёбу смог только в этом году…
0
та и сейчас Ёбург это жопа мира. Цены на радиодетали на треть выше чем челябинске или нижнем новгороде, а ассортимент сильно беднее.
Так что выручают только интернет магазины.
0
Все так обсирают ардуино. А что Вы там такого крутого делаете, что нельзя сделать на ардуино с её стандартными либами, и практически в отсутствии опыта? Ракеты в космос отправляете? Я год только как начал баловаться контроллерами. Без труда разобрался во всём, сделал лёгкую автоматику для квартиры на нескольких атмега328 заказанных за дёшево из китая. Пока даже не представляю, зачем мне знать как устроено там всё и что внутри этих библиотек. Я домашний юзер, мне больше не надо, ардуино для таких как я. И почему Вы считаете это ужасом — непонятно.
+3
Да мы как раз то и не против, если дурина юзается такими как ты. Мы против, когда к нам, людям, для которых электроника это не только хобби, но и работа, основная, приносящая деньги и всё такое, приходят люди, гордо говорящие что знают электронику-программирование, по факту умеющие работать только с дуриной.

Они впадают в ступор от работы с регистрами, у них встают волосы когда некоторые моменты для большей скорости делаются на ассемблеровских вставках.

Так что те, для кого это только хобби, не думайте что это камень в ваш огород, это лавина в огороды вышеописанных людей:)
+1
А некоторым аналогично не нравится если кто-то пишет в резюме, что знает C но затрудняется объяснить как читать сложные объявления char *(*(**foo[][8])())[];, не помнит приоритеты операций, что значит слово restrict и еще чего нибудь про порядок выполнения, барьеры, конвейеры, кэши и выравнивания.
0
как читать сложные объявления char *(*(**foo[][8])())[];

А я бы подумал кого брать на работу :)

Если человек не знает, как это прочесть – он точно не напишет такого в коде.
А вот ели он сходу скажет, что это самый обычный двумерный массив из указателей на указатель функции которая возвращает … — я бы испугался :)
+1
Я таки затрудняюсь это разобрать, но мне кажется, что все еще хуже)
+1
Я пытался разобрать этот тип, но ошибся.

Правильный ответ:
foo is array of array of 8 pointer to pointer to function returning pointer to array of pointer to char

И вот не дай бог увидеть такое в коде :)
0
Такая структура данных вызывает некоторые затруднения в понимании даже в таком виде :D
А вообще, по хорошему, если такое надо — надо разбивать описание на части при помощи typedef'ов (или что там в С является аналогом дельфового type).
0
Ну, с промежуточными типами определенными через typedef получилось бы читабельнее.

А вообще, по хорошему, если такое надо —

надо задуматься: ребята, а все ли у нас в порядке с проектированием и архитектурой? :)
0
Ну, в ООП структурах и побольше вложенность бывает)
0
В ООП бывает и круче, но там ярко выраженные уровни абстракции, рулит инкапсуляция и полиморфизм. Ты работаешь с объектом, он содержит контейнер с другими объектами, каждый их которых в в свою очередь содержит… В итоге запросто получаем более сложную структуру данных, но работать с ней просто. А здесь, (хотя я понимаю, что пример утрированный) все торчит наружу, все на одном уровне

char *(*(**foo[][8])())[]; 

получи, распишись и думай как с этим работать.
+1
Пример искусственный, но на самом деле бывает нужно например понимать к чему относится const (и другие квалификаторы) в объявлении указателя на указатель. После таких вот искусственных примеров это все уже не страшно.
0
Да не, мы поняли, что это просто «задача для подумать» а не реальный фрагмент кода.

После таких вот искусственных примеров это все уже не страшно.

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

foo is array of array of 8 pointer to pointer to function returning pointer to array of pointer to char

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

Но не дай Бог увидеть такое в коде.
0
Ну, если разбить typedef'ами — то и эта структура станет понятней.
0
Но тут еще синтаксис С свое дело делает. На дельфи такое объвление будет длиннее (по количеству букв, а не элементов), но куда понятнее. Не в последнюю очередь из-за того, что последний уровень вложенности (объявление указателя на функцию) не окажется снаружи.
+1
Соглашусь.
При работе с типами в С есть много моментов которые, условно, «нельзя понять, можно только запомнить». Возьмем тот-же синтаксис typedef

typedef  int my_int_type;
typedef int (*my_function_type)(int, char*);


В паскале, в этом смысле синтаксис хоть и более «растянут» (array of) но зато легче воспринимается.
0
В паскале, в этом смысле синтаксис хоть и более «растянут» (array of) но зато легче воспринимается.
Да и более единообразен, по моему.
Хотя и в нем есть странные вещи — например, union. Каждый раз, когда он мне требуется — лезу в хелп за синтаксисом)
+1
Ну, если разбить typedef'ами — то и эта структура станет понятней.
Станет. Но работать с ней (такой структурой данных) тяжело, нужно держать в голове, что там «двумерный массив из указателей на указатель на функцию ...»

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

Вызвал у класса метод, условно, GiveMeDataByID() — он вернул тебе нужные данные. Как там они внутри хранятся (в массиве, связанном списке, таблице), и где именно они хранятся, тебя не волнует.
0
Кто знает про лямбды-блоки в obj-c, тот знает вот этот прекрасный сайт с жизненным названием:
fuckingblocksyntax.com

Думаю, в любом языке есть что-то, что сложно понять, а надо запомнить)
0
Ну, можно еще синтаксис regexp вспомнить.

Ка говорится, « если у вас есть проблема, и вы собираетесь решать ее с использованием регулярных выражений, то у вас есть две проблемы» :)

Думаю, в любом языке есть что-то, что сложно понять, а надо запомнить

Безусловно. Но, если Вы пользуетесь этим синтаксисом (или хотя бы сталкиваетесь с ним в чужом коде) регулярно, вы его будете помнить.

С кодом типа  char *(*(**foo[][8])())[]; программист обычно сталкивается только в кошмарном сне. И, я считаю, что это абсолютно нормально, если он не сможет расшифровать это на собеседовании.
0
Начинал вообще с программируемых калькуляторов, с их «тоже типа ассемблером».
Учеба в ВУЗе — микропрограммные автоматы, лабораторки на стенде из секций 1804 с побитным вводом микропрограммы.
Параллельно — таки прожигаемые ПЗУ, например, для АОНов(слава разработчику программатора, не побитно, а поячеечно).
Потом остальной поток на лабах перешёл на машинные коды и ассемблер 580-го, а мне сунули в зубы шкаф СМ2420, списанный на шефском предприятии — мол, разберись, что с ним делать можно. Внутри те же 1804.
А работать пошёл прикладным программером на ЯВУ, и это продолжалось долго, пока не нашёл место, где с микроконтроллерами нужно иметь дело. 51 архитектура (89-е атмелы), ассемблер, программатор может и не громовский, но тоже от ком-порта.
Ну и потом довольно типовой путь — АВР, STM32…
В общем, последний пункт. Ардуины и дешевые evaluation boards — для прототипирования, чтоб не возиться каждый раз с типовой обвязкой.
0
  • avatar
  • juray
  • 05 августа 2014, 16:45
Алмир-65 (МИР-1), PL/1 (ЕС ЭВМ), ручное ассемблирование (программирование в кодах) для КР580ИК80А, Turbo Pascal, Turbo Assembler, небольшой эпизод с Basic (иного просто не было).
+2
Ага. А еще была RSX-11M4 (ОСь такая) и цельных 2 штуки СМ1600.09 с кастомизированной по самое не могу конфигурацией (литовский комсомол тогда активно барыжил продукцию ВЗСМ) :)
+1
Сейчас старая гвардия расскажет вам как пользовать этот массажер по прямому предназначению.

З.Ы. КР580 да были времена… Нам их еще в колледже приподавали. А практику проходили на вот таком чудном аппарате

Умка назывался.
+1
Алмир-65 (МИР-1)

Вот это действительно настоящая «старая школа». Это целый пласт в истории, о котором, увы, сохранилось очень мало информации. Может напишите статью о «тех временах» и «тех машинах»? Я бы с огромным удовольствием почитал.
+4
Может напишите статью о «тех временах» и «тех машинах»? Я бы с огромным удовольствием почитал.
++++++++++
Тоже с удовольствием почитал бы, хотя я и не застал те времена
0
Попробую что-нибудь набросать в отпуске :)
+3
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.