Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Re: Посоветуйте литературу...

Пн мар 20, 2023 19:59:34

Неплохой сайт по АВР:
Неплохой для опытного человека, но для новичка не хороший. Ошибок там есть немало. К примеру, автор путает выключение компаратора с его включением. Инвертирующий вход компаратора называет инвертирующим выходом и т.д., и т.п., в том числе для вычисления коэффициента деления таймера вместо того, чтобы просто поделить 16 МГц на 140 кГц, он сначала вычисляет обратные им величины и делит их в обратной пропорции. Всё это может сбить с толку новичка.

Re: Посоветуйте литературу...

Пн мар 20, 2023 23:15:22

Martian
У Атмела другая беда: народность. Как следствие - много некачественных решений и вообще бреда. Менее народными мк занимаются более специалисты, выше качество информации (но не количество). Да, вхождение туда более сложное, но зато качественнее.
Вполне разумное замечание.
Но Имхо надо бы разделить процесс познания на две (или даже три) составляющие.
- Понятие что такое МК вообще, его общая возможная внутренняя структура, опираясь на обязательно имеющиеся познания по "цифре".
- Научиться писать простые и далее чуть сложнее программ на без языковой основе для виртуального (любого) МК.
- И в заключение, изучение даташита выбранного МК и к нему (исходя из его возможностей и особенностей) писать уже программу. Сначала совсем простые в АСМ (для закрепления полученных познаний из даташита) и далее уже чуть более сложные, с их компиляцией (поначалу желательно в среде, рекомендованной разработчиком МК).
Как только все эти этапы будут успешно пройдены, то только тогда уже можно будет смело пробовать выбирать к изучению как язык программирования, так и среду написания программ.

Re: Посоветуйте литературу...

Вт мар 21, 2023 11:45:34

Сначала совсем простые в АСМ (для закрепления полученных познаний из даташита) и далее уже чуть более сложные

Существует другое мнение: "А ну его, этот асм, берём С++ и вперёд с песней!". Порочное, на мой взгляд. Для таких на всю жизнь МК остаётся чёрным ящиком. "Какие, нах, регистры, ROM, RAM, режимы адресации? Я же ясно написал: input" !

Re: Посоветуйте литературу...

Чт мар 30, 2023 16:15:05

ни красивого дисплейчека, ни Ethernet, ни USB

Это суждение дилетанта, который не совсем в теме. USB реализовано - возьмите, к примеру, AT90USB162-16AU. Дисплейчиков в микроконтроллере :shock: мне видеть не приходилось :) , но если взять дисплей (внешний по отношению к МК) хоть графический, хоть сегментный - море схем на АВР, которые без проблем этими дисплеями рулят. За Ethernet не скажу, управлять кофеваркой по инету пока не доводилось.
Справедливости ради - АВРам уже больше четверти века, и более современные STM их уделывают. Но это не значит, что время АВР закончилось. Вот 51-е в 2 раза старше, но на пенсию не собираются.
STM-ами, к сожалению, заниматься не приходилось, но вот мнения о том, что на них выше порог вхождения - встречал. И тут АВР с их детской простотой и хорошо развитой средой разработки для новичков, думаю, самое то.
Но - "кому - таторы, а кому - ляторы" ...

Лет 10 назад я рекомендовал для первоначального обучения именно AVR. Сейчас для этой цели я предложил бы STM8S. STM32 для начинающих я не рекомендую. Даже для написания простейшей программы следует знать такое множество различных деталей, что новичку их попросту не осилить. И вообще, интересно есть ли кто-нибудь, кто начинал своё первое знакомство (с нуля) с микроконтроллерами вообще, используя семейство STM32?

Re: Посоветуйте литературу...

Пт мар 31, 2023 16:32:45

STMы что-то дорогие какие-то. Жалко жечь их по неопытности.

Re: Посоветуйте литературу...

Пт мар 31, 2023 20:45:25

И вообще, интересно есть ли кто-нибудь, кто начинал своё первое знакомство (с нуля) с микроконтроллерами вообще, используя семейство STM32?
Я сам начинал с PIC16 когда STM32 ещё не было. Однако, во всех своих курсах в последние 5+ лет использую ARM-ы фирмы Silicon Labs. Даже в курсе начального уровня по ассемблеру мы используем ARM ахитектуры Cortex-M33 под Keil и практически для всех студентов это первый МК, который они видят в своей жизни. В остальныкх курсах используем только С и Simplicity Studio IDE фирмы. "Страшными" ARMы могут казаться только при переходе от 8-битных МК, а если сразу начинать с ARM, то и страха нет. Ранее курсы вёл на 8/16-битных, но, согласно моему опыту, студентам нет разницы с чего начинать и их успех в курсах решающим образом зависит от уровня/понятности подачи материала. Вести сегодня в ВУЗах преподавание микроконтроллерных курсов на архитектуре AVR8 20+ летней давности считаю сродни с диверсией.

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

Re: Посоветуйте литературу...

Сб апр 01, 2023 06:30:26

Дело не в ассемблере. Дело в "железе". Сравните количество манипуляций для запуска простейшей программы у того же PIC и какого-нибудь ARM. Для конфигурации порта на вывод у PIC достаточно одной команды, а сколько команд для этой цели требуется в ARM? Далее, сконфигурировали так или иначе порт на вывод, подключили светодиод. Кажется всё в порядке. Ан нет, не работает! Оказывается "забыли" (плохо, когда не знаешь, да ещё и забудешь) подать синхронизацию на порт. А как это сделать? Где её взять? Хорошо, если рядом есть знающий человек, который всё расскажет и покажет. А если такого человека рядом не окажется, как тогда быть?
Конечно у ARM "на борту" много чего имеется - таймеры (супер-пупер!), АЦП, UART, DMA и т.д. Но для создания простейшей и, главное, работоспособной программы всего этого не требуется.
Наконец, я сам работал преподавателем и представляю, как происходит обучение. Часто за недостатком времени или по какой-то другой причине, студентам говорят - делай так-то и так-то. И при этом не объясняют почему нужно делать именно так. Мне приходилось сталкиваться с результатами такого "обучения". Задаёшь, казалось-бы, простейшие вопросы, а внятных ответов нет.
А вообще, мой вопрос был к тем, кто впервые и самостоятельно начинал осваивать МК. Есть ли такие, кто начинал именно с ARM?

Re: Посоветуйте литературу...

Сб апр 01, 2023 06:43:20

Что вы понимаете под ARM? ARM920 (ARM926) или Cortex-M0? Освоить последний сейчас даже проще чем AVR и тем более PIC или 8051. И способствуют этому развитые IDE и средства отладки. Раньше как слепые котята писали-шили-стирали(на УФ) -писали-шили-стирали... Сейчас под отладкой все регистры, всю память, что делает каждая команда, каждый бит видно. Не забыть включить тактовую на используемую периферию можно и обезьянку научить. Изучай - не хочу.

Re: Посоветуйте литературу...

Сб апр 01, 2023 08:18:59

Конечно, ARMы всякие нужны, ARMы всякие важны. Я имею в виду STM32 (Cortex M0, M3, M4..). В своё время я начинал с 8080, PDP-11, Z80. Причём средства отладки для 8080 мы создавали сами с нуля, поскольку никакого компьютера не было, от слова совсем :) . И писали программы в машинных кодах. Мы сами были и ассемблером, и линкером. Первый МК, с которым я начал работать был PIC14. Было всё как вы написали: писали-шили-стирали. Бывало чтобы исправить в программе одну единственную инструкцию приходилось ждать 10-15 мин, пока МК не сотрётся. Потом перешёл на AVR, STM8S, MSP430 (работал с ним недолго). Сейчас вот пришлось осваивать Cortex.
Конечно, включать тактовую синхронизацию можно и обезьянку научить. Вопрос только в том, что будет делать эта обезьяна, если ей дать оценочную плату, а учить её будет некому? Сдаётся мне, что большинство нынешних студентов являются такими обезьянками. Или нет?

Re: Посоветуйте литературу...

Сб апр 01, 2023 11:23:43

Сдаётся мне, что большинство нынешних студентов являются такими обезьянками. Или нет?

Образование стремительно деградирует. У моего коллеги был дипломник IT специальности. Он с лёгкостью жонглировал типами материнок, БП, видеокарт и модулей памяти, но вопрос о том, какой это транзистор - npn или pnp - поверг его в ступор. На программистском форуме ленивые халявщики просят требуют! решить свои элементарнейшие задачки типа обменять содержимое регистров или отсортировать массив. Таких немного, но это, наверное, самые жадные - другие их коллеги, видимо, покупают зачёт у препода за нал.
Для обслуживания трубы мозгов много не надо, а что-нибудь высокотехнологичное купим, за неимением штатовского - у Кетая.

Re: Посоветуйте литературу...

Сб апр 01, 2023 11:54:41

а учить её будет некому?
Вы это серьёзно? Сейчас столько шикарных лекций доступно онлайн.
Сдаётся мне, что большинство нынешних студентов являются такими обезьянками. Или нет?
Вот только не надо про то что раньше солнце ярче и трава зеленее. Желающие учиться всегда были, есть и будут. А вот область знаний трансформируется. Умение джамперами код в КР580 набивать, конечно, элитно, но сегодня совершенно бесполезно.

Re: Посоветуйте литературу...

Сб апр 01, 2023 15:37:35

Ну вот, только подготовил достойный ответ на его "тёпленькая пошла", как он удалил свой пост, и смысл потерялся.
Не, из холодильника - лучше. :))
"Любишь тёплую водку и потных женщин? Нет? Отлично, пойдёшь в отпуск в декабре" © :)

Желающие учиться всегда были, есть и будут.

Вот только раньше не было столько возможностей заменять мозги - протезами. Не читать книжку, а посмотреть видеоурок на ЮТьюбе; не решать задачи, а найти решение в сети или закинуть в форум - добренькие дяди помогут (остаться неучем).
Последний раз редактировалось Jack_A Сб апр 01, 2023 21:57:12, всего редактировалось 1 раз.

Re: Посоветуйте литературу...

Сб апр 01, 2023 15:49:48

и ИИ

Интересно, гугл образовал слово гуглить, которое наверняка войдет в словарь. А ИИ такое образует?

Re: Посоветуйте литературу...

Сб апр 01, 2023 16:13:18

Не читать книжку, а посмотреть видеоурок на ЮТьюбе;
Зачем вообще лекции в институте читают. Раздал книжки и пусть грызут гранит.

Re: Посоветуйте литературу...

Сб апр 01, 2023 16:43:59

а учить её будет некому?
Вы это серьёзно? Сейчас столько шикарных лекций доступно онлайн.
Сдаётся мне, что большинство нынешних студентов являются такими обезьянками. Или нет?
Вот только не надо про то что раньше солнце ярче и трава зеленее. Желающие учиться всегда были, есть и будут. А вот область знаний трансформируется. Умение джамперами код в КР580 набивать, конечно, элитно, но сегодня совершенно бесполезно.

Он-лайн лекций, конечно, много. Только, во-первых, лекции всякие бывают. Как-то посмотрел я одну такую "лекцию". Этот, с позволения сказать, лектор на полном серьёзе объяснял изменение напряжения в цепи на примере RC-цепочки. Он рассказывал, что напряжение на конденсаторе изменяется по одному закону, а на резисторе по другому. При этом конденсатор и резистор в схеме соединены параллельно. И что интересно, в комментариях некоторые писали, что им стало всё понятно. И как человеку, не имеющему хотя бы начальных знаний, найти действительно стоящую лекцию? Во-вторых, станет ли человек, не очень утруждающий себя учёбой в вузе, вообще что-то искать.
Действительно, желающие учиться по-настояшему всегда были, есть и будут. Только вот как-то получается так, что объём требуемых знаний всё время увеличивается, а уровень образования снижается. К примеру, у нас в вузе количество часов аудиторных занятий сократили больше чем в 1.5 раза. При этом нагрузка на преподавателей сильно возрасла.
Наконец, дело не в умении набивать код для КР580. Учить можно на чём угодно. Главное иметь фундаментальные знания, понимать основы, а не просто умение тыкать в кнопки. А для получения требуемых знаний нужно желание их получить. Причём это желание должно быть обоюдным, как у обучаемого, так и у обучающего.

Re: Посоветуйте литературу...

Сб апр 01, 2023 20:06:58

Bill_ писал(а):Для конфигурации порта на вывод у PIC достаточно одной команды, а сколько команд для этой цели требуется в ARM?
Даже если, скажем, 3 вместо одной, это принципиально или поднимает сложность конфигурирования до заоблачных высот? Я согасен с VladislavS, что современные средства разработки, особенно с графическим конфигуратором ресурсов, сводят к нулю сложность конфигурирования многой периферии, в частности всей, что требуется новичку. Кроме того, у каждого производителя имеются библиотеки конфигурирования периферии на C/C++, где конфигурирование пина порта производится вызовом лишь одной API функции.

Bill_ писал(а):Оказывается "забыли" подать синхронизацию ... Хорошо, если рядом есть знающий человек, который всё расскажет и покажет.
Считаю само собой разумеющимся, что прежде чем писать код для любого МК человек посмотрит мануал, книгу, видеоурок, или пример. Включение синхронизации для инициализации периферии - шаг номер 1 в любом источнике, которых сегодня полно даже в свободном доступе. Поэтому пример этот считаю неудачным. Если для кого-то это было камнем преткновения при переходе на ARM с других МК, где такого нет, то при изучении АRМ как первого МК подобных проблем не возникнет. Студенты сразу начинают думать, что иначе и быть не может.

Bill_ писал(а):Конечно у ARM "на борту" много чего имеется ... Но для создания простейшей и, главное, работоспособной программы всего этого не требуется.
Для простейшей может и не нужно, а для сколь-нибудь осмысленной понадобится. В любом случае, наличие обширной периферии, которую никто не заставляет использовать в каждом проекте, и которая по умолчания всё-равно отключена, не может быть причиной не начинать знакомство с МК с ARM.

Bill_ писал(а):Есть ли такие, кто начинал именно с ARM?
Все мои студенты такие. Да, у них есть я, но никто не начинает знакомство с любым МК на необитаемом острове и отключенным от всех истоичников информации.

Bill_ писал(а):Часто за недостатком времени или по какой-то другой причине, студентам говорят - делай так-то и так-то.
90% современных студентов наверняка спросят почему так. А если не спросят, то грош цена тому преподавателю, который сам не объяснит это, ссылаясь на какие-то обстоятельства.

Re: Посоветуйте литературу...

Вс апр 02, 2023 06:00:35

Bill_ писал(а):Часто за недостатком времени или по какой-то другой причине, студентам говорят - делай так-то и так-то.
90% современных студентов наверняка спросят почему так. А если не спросят, то грош цена тому преподавателю, который сам не объяснит это, ссылаясь на какие-то обстоятельства.

В том-то и дело, что главное отличие инженеров от студентов - умение задавать себе вопросы. А пока студенты этого не умеют, задавать вопросы им должен преподаватель. Хороший преподаватель тот, который умеет задавать правильные вопросы. А преподаватель, который вообще не задаёт вопросов, а только пытается что-то объяснять, - плохой преподаватель. Поймите одну простую вещь. Когда бывшие студенты пойдут работать на производство, никакого преподавателя с ними рядом не будет, и что-то объяснять им будет некому. К тому же задачи, которые им будут там ставить, в вузе они решали.
PS: Представьте себе такую ситуацию. В вузе им всё время талдычили про ARM, а пришли они на производство и им потребуется работать с PIC, MCS-51, AVR, MSP-430 и т.д. И что им тогда делать?

Re: Посоветуйте литературу...

Вс апр 02, 2023 06:23:22

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

Re: Посоветуйте литературу...

Вс апр 02, 2023 07:29:49

Хм... Как-то один студент попросил меня дать ему список фирм, выпускающих МК. Я назвал ему десяток, а затем спросил - зачем ему это нужно? Ответ - хочу разобраться как работают МК. !!!??? Зачем читать массу документации и при этом даже не зная, что именно нужно читать? Может быть лучше сначала понять основные принципы работы МК, ведь любой МК реализуется на одних и тех принципах. И если понять эти принципы, то освоить любой МК не составит большого труда.
Поэтому мой метод обучения - метод дедукции, от общего к частному. Рассказывая об общих принципах работы, я старался пояснять их реализацию на частных примерах. Для этой цели можно выбрать практически любой МК.

Re: Посоветуйте литературу...

Вс апр 02, 2023 08:19:46

Не думаю, что с этим можно поспорить. Однако я бы выбрал ЛА3.
Когда уже забыли DOS, одна девушка попросила меня подготовить ее к сдаче экзамена в каком-то учебном заведении, по, казалось бы, простому предмету - умение пользоваться ПК с Windows. Обычно, под этим подразумевается совсем немногое: создать-открыть-удалить-скопировать-переместить файл(ы) или папку(и). И основной пакет программ, браузер, ворд, ексель, может быть калькулятор и паинт. Примитивно же? Но она всего этого не знала, ПК только-только стали чем-то обыденным. И времени на обучение - один день.
Я подумал... и разобрал свой компьютер. Сначала мы его вместе собрали. Затем запустил DOS и показал работу в командной строке. Затем Нортон и мышка. Потом Виндоуз. Параллельно объяснял все фундаментальные основы, что есть файл, как он хранится, как обрабатываются данные, как работают программы. Разумеется, в очень общих чертах.
В итоге, когда мы перешли к Виндоуз, она моментально стала работать сама. Мне оставалось донести мысль, что интерфейсы большинства программ схожи.
1 день. Получился пользователь, который представляет работу ПК и на основе этого способен продолжать обучение самостоятельно в процессе использования, то есть делать какие-то выводы, удачно догадываться и т.д. И, разумеется, преподаватель оценил ее на отлично, хотя, как она потом
сказала, допускала какие-то ошибки, ну а как же, опыт всё-таки тоже должен быть, а его за один день не получить.
Я видел пользователей, которые проходили курсы в течение 2 недель, то есть 5-7 занятий, и не могли ничего, кроме того, что им показали. Показали, но не объяснили.
Так что, лучше все же с нуля, с таблицы умножения, с И-ИЛИ-НЕ и так далее. Тем более, что от нуля до уже рабочих моментов - это очень маленький и быстрый этап.
Ответить