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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Электрический кот
Аватара пользователя
Сообщения: 1038
Зарегистрирован: Ср окт 04, 2017 20:47:40

Сообщение valentinovich »

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

Сообщение Jack_A »

[uquote="valentinovich",url="/forum/viewtopic.php?p=4388846#p4388846"]Сначала совсем простые в АСМ (для закрепления полученных познаний из даташита) и далее уже чуть более сложные[/uquote]
Существует другое мнение: "А ну его, этот асм, берём С++ и вперёд с песней!". Порочное, на мой взгляд. Для таких на всю жизнь МК остаётся чёрным ящиком. "Какие, нах, регистры, ROM, RAM, режимы адресации? Я же ясно написал: input" !
Изображение
Реклама
Открыл глаза
Сообщения: 60
Зарегистрирован: Вс ноя 13, 2022 14:58:17

Сообщение Bill_ »

[uquote="Jack_A",url="/forum/viewtopic.php?p=4388553#p4388553"][uquote="JackSmith",url="/forum/viewtopic.php?p=4387107#p4387107"]ни красивого дисплейчека, ни Ethernet, ни USB[/uquote]
Это суждение дилетанта, который не совсем в теме. USB реализовано - возьмите, к примеру, AT90USB162-16AU. Дисплейчиков в микроконтроллере :shock: мне видеть не приходилось :) , но если взять дисплей (внешний по отношению к МК) хоть графический, хоть сегментный - море схем на АВР, которые без проблем этими дисплеями рулят. За Ethernet не скажу, управлять кофеваркой по инету пока не доводилось.
Справедливости ради - АВРам уже больше четверти века, и более современные STM их уделывают. Но это не значит, что время АВР закончилось. Вот 51-е в 2 раза старше, но на пенсию не собираются.
STM-ами, к сожалению, заниматься не приходилось, но вот мнения о том, что на них выше порог вхождения - встречал. И тут АВР с их детской простотой и хорошо развитой средой разработки для новичков, думаю, самое то.
Но - "кому - таторы, а кому - ляторы" ...[/uquote]
Лет 10 назад я рекомендовал для первоначального обучения именно AVR. Сейчас для этой цели я предложил бы STM8S. STM32 для начинающих я не рекомендую. Даже для написания простейшей программы следует знать такое множество различных деталей, что новичку их попросту не осилить. И вообще, интересно есть ли кто-нибудь, кто начинал своё первое знакомство (с нуля) с микроконтроллерами вообще, используя семейство STM32?
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Ср фев 17, 2016 21:17:36
Откуда: Москва

Сообщение planus »

STMы что-то дорогие какие-то. Жалко жечь их по неопытности.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3794
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

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

Если начинать опыты с МК на демо-плате, то сжечь там что-то просто нереально. У меня не было таких случаев в классах. Можно "залочить" МК (такое со студентами бывало), но он "отлочивается" специальной утилитой тем-же программатором на демо-плате.
Реклама
Открыл глаза
Сообщения: 60
Зарегистрирован: Вс ноя 13, 2022 14:58:17

Сообщение Bill_ »

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

Сообщение VladislavS »

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

Сообщение Bill_ »

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

Сообщение Jack_A »

[uquote="Bill_",url="/forum/viewtopic.php?p=4394565#p4394565"]Сдаётся мне, что большинство нынешних студентов являются такими обезьянками. Или нет?[/uquote]
Образование стремительно деградирует. У моего коллеги был дипломник IT специальности. Он с лёгкостью жонглировал типами материнок, БП, видеокарт и модулей памяти, но вопрос о том, какой это транзистор - npn или pnp - поверг его в ступор. На программистском форуме ленивые халявщики просят требуют! решить свои элементарнейшие задачки типа обменять содержимое регистров или отсортировать массив. Таких немного, но это, наверное, самые жадные - другие их коллеги, видимо, покупают зачёт у препода за нал.
Для обслуживания трубы мозгов много не надо, а что-нибудь высокотехнологичное купим, за неимением штатовского - у Кетая.
Изображение
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Bill_",url="/forum/viewtopic.php?p=4394565#p4394565"]а учить её будет некому?[/uquote]Вы это серьёзно? Сейчас столько шикарных лекций доступно онлайн.
[uquote="Bill_",url="/forum/viewtopic.php?p=4394565#p4394565"]Сдаётся мне, что большинство нынешних студентов являются такими обезьянками. Или нет?[/uquote]Вот только не надо про то что раньше солнце ярче и трава зеленее. Желающие учиться всегда были, есть и будут. А вот область знаний трансформируется. Умение джамперами код в КР580 набивать, конечно, элитно, но сегодня совершенно бесполезно.
Друг Кота
Аватара пользователя
Сообщения: 6349
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

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

[uquote="VladislavS",url="/forum/viewtopic.php?p=4394670#p4394670"]Желающие учиться всегда были, есть и будут.[/uquote]
Вот только раньше не было столько возможностей заменять мозги - протезами. Не читать книжку, а посмотреть видеоурок на ЮТьюбе; не решать задачи, а найти решение в сети или закинуть в форум - добренькие дяди помогут (остаться неучем).
Последний раз редактировалось Jack_A Сб апр 01, 2023 21:57:12, всего редактировалось 1 раз.
Изображение
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Jack_A",url="/forum/viewtopic.php?p=4394795#p4394795"]Не читать книжку, а посмотреть видеоурок на ЮТьюбе;[/uquote]Зачем вообще лекции в институте читают. Раздал книжки и пусть грызут гранит.
Открыл глаза
Сообщения: 60
Зарегистрирован: Вс ноя 13, 2022 14:58:17

Сообщение Bill_ »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4394670#p4394670"][uquote="Bill_",url="/forum/viewtopic.php?p=4394565#p4394565"]а учить её будет некому?[/uquote]Вы это серьёзно? Сейчас столько шикарных лекций доступно онлайн.
[uquote="Bill_",url="/forum/viewtopic.php?p=4394565#p4394565"]Сдаётся мне, что большинство нынешних студентов являются такими обезьянками. Или нет?[/uquote]Вот только не надо про то что раньше солнце ярче и трава зеленее. Желающие учиться всегда были, есть и будут. А вот область знаний трансформируется. Умение джамперами код в КР580 набивать, конечно, элитно, но сегодня совершенно бесполезно.[/uquote]
Он-лайн лекций, конечно, много. Только, во-первых, лекции всякие бывают. Как-то посмотрел я одну такую "лекцию". Этот, с позволения сказать, лектор на полном серьёзе объяснял изменение напряжения в цепи на примере RC-цепочки. Он рассказывал, что напряжение на конденсаторе изменяется по одному закону, а на резисторе по другому. При этом конденсатор и резистор в схеме соединены параллельно. И что интересно, в комментариях некоторые писали, что им стало всё понятно. И как человеку, не имеющему хотя бы начальных знаний, найти действительно стоящую лекцию? Во-вторых, станет ли человек, не очень утруждающий себя учёбой в вузе, вообще что-то искать.
Действительно, желающие учиться по-настояшему всегда были, есть и будут. Только вот как-то получается так, что объём требуемых знаний всё время увеличивается, а уровень образования снижается. К примеру, у нас в вузе количество часов аудиторных занятий сократили больше чем в 1.5 раза. При этом нагрузка на преподавателей сильно возрасла.
Наконец, дело не в умении набивать код для КР580. Учить можно на чём угодно. Главное иметь фундаментальные знания, понимать основы, а не просто умение тыкать в кнопки. А для получения требуемых знаний нужно желание их получить. Причём это желание должно быть обоюдным, как у обучаемого, так и у обучающего.
Друг Кота
Аватара пользователя
Сообщения: 3794
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Bill_ писал(а):Для конфигурации порта на вывод у PIC достаточно одной команды, а сколько команд для этой цели требуется в ARM?
Даже если, скажем, 3 вместо одной, это принципиально или поднимает сложность конфигурирования до заоблачных высот? Я согасен с VladislavS, что современные средства разработки, особенно с графическим конфигуратором ресурсов, сводят к нулю сложность конфигурирования многой периферии, в частности всей, что требуется новичку. Кроме того, у каждого производителя имеются библиотеки конфигурирования периферии на C/C++, где конфигурирование пина порта производится вызовом лишь одной API функции.
Bill_ писал(а):Оказывается "забыли" подать синхронизацию ... Хорошо, если рядом есть знающий человек, который всё расскажет и покажет.
Считаю само собой разумеющимся, что прежде чем писать код для любого МК человек посмотрит мануал, книгу, видеоурок, или пример. Включение синхронизации для инициализации периферии - шаг номер 1 в любом источнике, которых сегодня полно даже в свободном доступе. Поэтому пример этот считаю неудачным. Если для кого-то это было камнем преткновения при переходе на ARM с других МК, где такого нет, то при изучении АRМ как первого МК подобных проблем не возникнет. Студенты сразу начинают думать, что иначе и быть не может.
Bill_ писал(а):Конечно у ARM "на борту" много чего имеется ... Но для создания простейшей и, главное, работоспособной программы всего этого не требуется.
Для простейшей может и не нужно, а для сколь-нибудь осмысленной понадобится. В любом случае, наличие обширной периферии, которую никто не заставляет использовать в каждом проекте, и которая по умолчания всё-равно отключена, не может быть причиной не начинать знакомство с МК с ARM.
Bill_ писал(а):Есть ли такие, кто начинал именно с ARM?
Все мои студенты такие. Да, у них есть я, но никто не начинает знакомство с любым МК на необитаемом острове и отключенным от всех истоичников информации.
Bill_ писал(а):Часто за недостатком времени или по какой-то другой причине, студентам говорят - делай так-то и так-то.
90% современных студентов наверняка спросят почему так. А если не спросят, то грош цена тому преподавателю, который сам не объяснит это, ссылаясь на какие-то обстоятельства.
Открыл глаза
Сообщения: 60
Зарегистрирован: Вс ноя 13, 2022 14:58:17

Сообщение Bill_ »

[uquote="Ser60",url="/forum/viewtopic.php?p=4394891#p4394891"]
Bill_ писал(а):Часто за недостатком времени или по какой-то другой причине, студентам говорят - делай так-то и так-то.
90% современных студентов наверняка спросят почему так. А если не спросят, то грош цена тому преподавателю, который сам не объяснит это, ссылаясь на какие-то обстоятельства.[/uquote]
В том-то и дело, что главное отличие инженеров от студентов - умение задавать себе вопросы. А пока студенты этого не умеют, задавать вопросы им должен преподаватель. Хороший преподаватель тот, который умеет задавать правильные вопросы. А преподаватель, который вообще не задаёт вопросов, а только пытается что-то объяснять, - плохой преподаватель. Поймите одну простую вещь. Когда бывшие студенты пойдут работать на производство, никакого преподавателя с ними рядом не будет, и что-то объяснять им будет некому. К тому же задачи, которые им будут там ставить, в вузе они решали.
PS: Представьте себе такую ситуацию. В вузе им всё время талдычили про ARM, а пришли они на производство и им потребуется работать с PIC, MCS-51, AVR, MSP-430 и т.д. И что им тогда делать?
Открыл глаза
Сообщения: 60
Зарегистрирован: Вс ноя 13, 2022 14:58:17

Сообщение Bill_ »

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

Сообщение Bill_ »

Для ЛА3, И-ИЛИ-НЕ имеется (или имелась?) отдельная дисциплина :) . У нас на кафедре раньше было так: 1-й семестр - цифровая техника, 2-й семестр - МК, 3-й семестр - ПЛИС. Как сейчас - не знаю. Скорее всего сократили.
Друг Кота
Аватара пользователя
Сообщения: 3794
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Bill_ писал(а):Представьте себе такую ситуацию. В вузе им всё время талдычили про ARM, а пришли они на производство и им потребуется работать с PIC, MCS-51, AVR, MSP-430 и т.д. И что им тогда делать?
Переход с более сложного на простые МК производится быстро и безболезненно. Сужу в частности по себе, когда после долгой работы с ARM нужно делать проект на EFM8 или RL78, про которые всё забыто. Приходится опять вчитываться в ДШ и кждый раз с удивлением насколько там у них всё просто.
Открыл глаза
Сообщения: 60
Зарегистрирован: Вс ноя 13, 2022 14:58:17

Сообщение Bill_ »

Вот именно
после долгой работы с ARM
. А откуда у выпускников вузов эта самая долгая работа?
Ответить

Вернуться в «Разные вопросы по МК»