Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Советы начинающим программистам микроконтроллеров / Habr

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

1. Многие начинающие электронщики не знают с чего начать, поэтому спрашивают совета. Большинство бывалых радиолюбителей ответят, что начни собирать какую нибудь схему. Естественно в голове любого начинающего сразу мелькает LCD дисплей с jpeg картинками, какой нибудь mp3 плеер или часы, без малейшей мысли о том, что не имея базовых знаний это неподъемная задача.

Я категорически против такого подхода. Обычно это все заканчивается — либо ничем, либо забитые форумы с мольбами помочь. Даже если кому то помогают, то в 90% он больше никогда не всплывет на сайтах по электронике. В остальных 10% он так и продолжает заливать форумы мольбами, его будут сначала пинать, затем поливать грязью. Из этих 10% отсеивается еще 9%. Далее два варианта: либо таки до глупой головы доходит и все же происходит goto к началу, либо в особо запущенных вариантах, его удел копировать чужие конструкции, без единой мысли о том как это работает. Из последних зачастую рождаются ардуинщики.

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

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

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

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

3. Не пользуйтесь кодогенераторами, нестандартными фичами и прочими упрощалками, хотя бы на первых этапах. Могу привести свой личный пример. Во времена активного использования AVR я пользовался кодогеном CAVR. Меня он полностью устраивал, хотя все говорили, что он кака. Звоночки звенели постоянно, были проблемы с библиотеками, с синтаксисом, с портированием, но было тяжело от этого отказаться. Я не разбирался как это работает, просто знал где и как поставить галочки.

Кол в мой гроб был вбит с появлением STM32, нужно было обязательно переползать на них, вот тогда то и появились проблемы. Проблемы мягко сказано, фактически мне пришлось осваивать микроконтроллеры и язык Си с нуля. Больше я не повторял прошлых ошибок. Надо сказать это уже пригодилось и не один раз. С тех пор мне довелось поработать с другими платформами и никаких затруднений не испытываю, подход оправдывает себя.

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

4. Изучайте язык Си. Эх, как же часто я слышу, как начинающие радиолюбители хвалятся, что хорошо знают сишку. Для меня это стало кормом, всегда люблю проконсультироваться у таких собеседников. Обычно сразу выясняется, что язык они совершенно не знают. Могу сказать, что не смотря на кажущуюся простоту, людей которые действительно хорошо бы его знали, встречал не так много. В основном все его знают на столько, на сколько требуется для решения задач.

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

Очень многие начинающие брезгуют изучением языка, поэтому если вы не будете как все, то сразу станете на две ступени выше остальных новичков. Так же не никакой разницы, где изучать язык. На мой взгляд, микроконтроллер для этого не очень подходит. Гораздо проще поставить какую нибудь Visual studio или Qt Creator и порешать задачки в командной строке.

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

5. Изучение ассемблера? Бояться его не нужно, равно как и боготворить. Не нужно думать, что умея написать программу на ассемблере, вы сразу станете гуру микроконтроллеров, почему то это частое заблуждение. В первую очередь это инструмент. Даже если вы не планируете использовать его, то все равно я бы настоятельно рекомендовал написать хотя бы пару программ. Это сильно упростит понимание работы микроконтроллера и внутреннего устройства программ.

6. Читайте даташит. Многие разработчики, пренебрегают этим. Изучая даташит вы будете на две ступени выше тех разработчиков. Делать это крайне полезно, во первых это первоисточник, какие бы сайты вы не читали, в большинстве случаев они повторяют информацию из даташита, зачастую с ошибками и недосказанностями. Кроме того, там может находиться информация, о которой вы не задумываетесь сейчас, но которая может пригодиться в будущем. Может статься так, что вылезет какая то ошибка и вы вспомните что да, в даташите об этом было сказано. Если ваша цель стать хорошим разработчиком, то этого этапа не избежать, читать даташиты придется, чем раньше вы начнете это делать, тем быстрее пойдет рост.

7. Часто народ просит прислать даташит на русском. Даташит — это то, что должно восприниматься как истина, самая верная информация. Даже там не исключены ошибки. Если к этому добавятся ошибки переводчика, он ведь тоже человек, может даже не нарочно, просто опечататься. Либо у него свое видение, может что-то упустить, на его взгляд не важное, но возможно крайне важное для вас. Особенно смешной становится ситуация, когда нужно найти документацию на не сильно популярные компоненты.

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

Мною был проведен эксперимент: в наличии был студент, даташит и гугл переводчик. Эксперимент №1: студенту вручен даташит и дано задание самостоятельно найти нужные значения, результат — «да как я смогу», «да я не знаю английский», «я ничего не нашел/я не понял» типичные фразы, говорящие о том, что он даже не пытался. Эксперимент №2: тому же студенту, вручен все тот же даташит и тоже задание, с той разницей, что я сел рядом. Результат — через 5 минут он сам нашел все нужные значения, абсолютно без моего участия, без знания английского.

8. Изобретайте велосипед. Например, изучаете какую то новую штуку, допустим транзистор, дядька Хоровиц со страниц своей книги авторитетно заявляет, что транзистор усиливает, всегда говорите — НЕ ВЕРЮ. Берем в руки транзистор включаем его в схему и убеждаемся что это действительно так. Есть целый пласт проблем и тонкостей, которые не описываются в книгах. Прочувствовать их можно только, когда возьмешь в руки и попробуешь собрать. При этом получаем кучу попутных знаний, узнаем тонкости. Кроме того, любая теория без практики забудется намного быстрее.

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

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

9. А как бы я сделал это, если бы находился на месте разработчиков? Могу ли я сделать лучше? Каждый раз задавайте себе эти вопросы, это очень хорошо помогает продвигаться в обучении. Например, изучите интерфейсы 1wire, i2c, spi, uart, а потом подумайте чем они отличаются, можно ли было сделать лучше, это поможет осознать почему все именно так, а не иначе. Так же вы будете осознавать, когда и какой лучше применить.

10. Не ограничивайтесь в технологиях. Важно что этот совет имеет очень тонкую грань. Был этап в жизни, когда из каждой подворотни доносилось «надо бы знать ПЛИС», «а вот на ПЛИС то можно сделать». Формально у меня не было целей изучать ПЛИСины, но и пройти мимо было никак нельзя. Этому вопросу было выделено немного времени на ознакомление. Время не прошло зря, у меня был целый ряд вопросов, касаемых внутреннего устройства микроконтроллеров, именно после общения с плисинами я получил ответы на них. Подобных примеров много, все знания, которые я приобретал в том или ином виде, рано или поздно пригодились. У меня нет ни единого бесполезного примера.

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

11. Если спросить начинающего радиолюбителя, что ему больше нравится программирование или схемотехника, то с вероятностью 99% ответ будет программирование. При этом большую часть времени эти программисты тратят на изготовление плат ЛУТом/фоторезистом. Причины в общем то понятны, но довольно часто это переходит в некий маразм, который состоит в изготовлении плат ради изготовления плат.

В интернетах практически единственный трушный путь к программированию это стать джедаем изготовления печатных плат. Я тоже прошел через этот путь, но каждый раз задаю себе вопрос зачем? С тех пор, как я приобрел себе пару плат, на все случаи жизни, каждый раз думаю о том, что мог бы спокойно прожить все это время без самодельных плат. Мой совет, если есть хоть капля сомнений, то лучше не заморачиваться и взять готовую отладочную плату, а время и средства лучше бы потратить на программирование.

12. Следующий совет, особенно болезненный, мне очень не хочется его обсуждать, но надо. Часто мне пишут, мол ххх руб за ууу дорого, где бы подешевле достать. Вроде бы обычный вопрос, но обычно я сразу напрягаюсь от него, так как зачастую он переходит в бесконечные жалобы на отсутствие денег. У меня всегда возникает вопрос: почему бы не оторвать пятую точку и не пойти работать? Хоть в тот же макдак, хоть на стройку, потерпеть месяц, зато потом можно приобрести парочку плат, которых хватит на ближайший год. Да я знаю, что маленьких городах и селах сложно найти работу, переезжайте в большой город. Работайте на удаленке, в общем нужно крутиться. Просто жаловаться нет смысла, выход из ситуации есть, кто ищет его тот находит.

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

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

14. Заведите сайт, можно писать на нем, что угодно, просто как записки. Практика показывает, что работодатели все равно его не читают, но сам факт производит большой эффект.

15. Тонкий вопрос: профильное высшее образование, нужно ли оно? Мне известны не единичные случаи, когда люди работали абсолютно без образования и по опыту и знаниям они могли дать прикурить любому дипломированному специалисту. Собственно, у меня нет профильного образования, испытываю ли я от этого дискомфорт? В определенной степени да.

Еще в самом начале, когда микроконтроллеры были для меня хобби, я много помогал с курсовыми и дипломами разных вузов, просто чтобы оценить свой уровень. Могу сказать уверенно, что уровень в целом невысок вне зависимости от имени вуза. Учиться несколько лет, для того чтобы написать такой диплом, совершенно необязательно. Достигнуть этого можно самостоятельно за весьма короткий срок. И все же зачастую бывали моменты, когда студенты знали какой то предмет, который они проходили на 2-3 курсе, а я этого не знал. Хоть все эти знания и компенсировались самообразованием, но все же лучше было бы не тратить на это время.

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

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

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

Если подытожить то совет таков: если есть хоть малейшая возможность — нужно идти учиться, обязательно по профилю, если есть хоть какие то шансы, то лезть везде, а не отсиживать штаны на задней парте. Заводить знакомства, параллельно дома самому практиковаться, развиваться.

16. Поздно ли начинать программировать в 20, 30, 40, 50 лет? Практика других людей показывает, что возраст вообще не помеха. Многие почему то не учитывают то, что есть целый пласт работы, которую молодые в силу своих амбиций не хотят делать. Поэтому работодатели предпочитают брать тех, кто будет ее тащить. Это ваш шанс зацепиться, а дальше все зависит только от вас.

И последний совет. Многие радиолюбители необщительные, сердитые и раздражительные — считайте это спецификой работы. Излучайте добро и позитив, будьте хорошим человеком.

habr.com

Главная | Полезные изобретения на микроконтроллерах

PicHobby.lg.ua (пикхобби) – сайт, где собраны авторские полезные изобретения на микроконтроллерах, а также: книги, программы, статьи, код и многое другое.

Что же можно найти на страницах сайта? В раздел Схемы буду выкладывать полезные изобретения на микроконтроллерах, раздел пополняеться. Каждое устройство буду стараться детально описывать. Если возникают вопросы – задавайте, не стесняйтесь! В конце статьи Вас ждёт готовый архив с проектом и сама статья в pdf-формате. Как работает изобретение можно посмотреть в видеоролике, который там же, под статьёй.

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

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

Повторили какое-нибудь изобретение? Присылайте фотографии. Буду пополнять раздел – Фото.

Карта сайта – структура сайта.

Перед повторением изобретений обратите внимание на статью – Важно!

Изобретателям!!! Приветствую тебя единомышленник! Если ты дружишь с паяльником, любишь программировать и изобретать – присылай мне свою статью о изобретении и заработай авторский гонорар! Вот моя почта – support собачка pichobby.lg.ua.. Не можешь правильно оформить материал? Ничего страшного, помогу! Переживаешь, что пропадёт твоё авторство? Напрасно! Мне чужие заслуги не нужны! Единственное жёсткое требование – статья должна быть уникальной! Плагиатом не занимаюсь. Выплаты, кстати, высокие и своевременные! Спасибо за участие в проекте!:)

Есть предложение по улучшению сайта? Интересные идеи или задумки? Конструктивная критика? Воспользуйтесь

Обратной связью

Не забывайте, что от идеи до готового изобретения – один лишь шаг! Если этот шаг Вы совершаете совместно с PicHobby.lg.ua.

Рад и в дальнейшем видеть Вас на страницах сайта полезных изобретений на микроконтроллерах. Ведь самое интересное только впереди! С уважением, основатель сайта.

pichobby.lg.ua

Быстрый поиск микроконтроллера от ведущих мировых производителей

Тактовая частота, МГц

от

до

Блок арифметики с плавающей точкой (FPU) не важно да нет

Поддержка DSP-инструкций

не важно да нет

Графический ускоритель, аппаратное декодирование видео не важно да нет

Блок управления памятью (MMU)

не важно да нет

Каналы DMA

от

до

Блок защиты памяти (MPU) не важно да нет

Аппаратный блок шифрования не важно да нет

mymcu.ru

Главная

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

 

 

  

 Это первое моё устройство на микроконтроллере, которое я самостоятельно разработал для небольшого катера. Устройство контролирует напряжение на 3-х аккумуляторах,  ток разряда и заряда, во время подзарядки от ЗУ, и выводит эти показания на ЖК индикатор. Также выдаёт звуковую сигнализацию при разряде какого-либо аккумулятора ниже допустимого значения (по принципу беcперебойника).

  

  Радиолюбители стали применять в своих конструкциях графические индикаторы на основе контроллера KS0108, как простые, доступные и относительно недорогие. Самое интересное, что графические индикаторы, даже такие простейшие, очень удобны для различных радиолюбительских приложений и конструкций, дают настоящую «свободу творчества» в отличие, например: от индикаторов на HD44780 и HT1611/1613 и других привязанных к символам записанных в ОЗУ и месту на индикации…

 Ко мне обратился мастер по ремонту автомобилей с просьбой, сделать прибор для быстрой проверки датчика температуры охлаждающей жидкости. Я не разбираюсь в типах этих датчиков, думаю что для отечественных машин. Мне дали график зависимости сопротивления ДТОЖ от температуры. Остальные пожелания добавлялись в ходе отлаживания устройства. Готового устройства я не видел. Сам его отлаживал на макетной плате.

 

 

chipmk.ru

Примеры программирования микроконтроллеров, создание схем на микроконтроллерах, микроконтроллеры для начинающих

Новостная лента

Microchip расширяет экосистему Arduino-совместимой отладочной платформы chipKIT

Компания Microchip сообщила о расширении экосистемы отладочной платформы chipKIT. В состав Arduino-совместимой платформы chipKIT вошла высокоинтегрированная отладочная плата с Wi-Fi модулем и плата расширения для управления электродвигателями, разработанные компанией Digilent. Подробнее >>>

Источник: http://www.rlocman.ru

Просмотров: 28590

Дата добавления: 02.10.2014

MicroView – супер миниатюрная Arduino-совместимая отладочная плата с OLED дисплеем

На портале Kickstarter представлен проект супер миниатюрной отладочной платформы Arduino, выполненной в форм-факторе 16-выводного корпуса DIP и имеющей встроенный OLED дисплей с разрешением 64×48 точек. Несмотря на то, что отладочная плата является полностью завершенным решением, она может устанавливаться на макетную плату или непосредственно впаиваться в печатную плату для расширения функционала и управления внешней периферией. Подробнее >>>

Источник: http://www.rlocman.ru

Просмотров: 27934

Дата добавления: 17.04.2014

Размеры самого миниатюрного в мире ARM-микроконтроллера Freescale сократила еще на 15%

Freescale Semiconductor совершила новый технологический прорыв, добавив к семейству Kinetis самый миниатюрный и энергоэффективный в мире 32-разрядный микроконтроллер Kinetis KL03 с архитектурой ARM. Основанный на микроконтроллере предыдущего поколения Kinetis KL02, новый прибор получил дополнительную периферию, стал намного проще в использовании, и при этом сократился в размерах до 1.6 × 2.0 мм. Подробнее >>>

Источник: http://www.rlocman.ru

Просмотров: 1871

Дата добавления: 17.04.2014

Как вырастить микросхему с помощью белка

Без кремния немыслимо производство полупроводников, где он буквально нарасхват. При этом, естественно, большое значение имеют чистота вещества и строение кристаллов кремниевых соединений. Исследователи из Университета Лидса (Великобритания) предлагают способ выращивания таких кристаллов с помощью молекулярной биологии. По их мнению, это позволит создавать электронные микросхемы более высокого качества. Подробнее >>>

Источник: http://www.newscientist.com/

Просмотров: 3019

Дата добавления: 06.03.2014

Открытие нового раздела на сайте MCULAB.RU

На нашем сайте открыт новый раздел. Раздел посвящён моделированию различных схем по сопряжению микроконтроллеров и датчиков. Освещается схемотехника подключения к МК внешних устройств. В данной области до сих пор отсутствует систематизация, поэтому сделана попытка создать банк типовых решений, который в дальнейшем может дополняться, уточняться, расширяться. Подробнее >>>

Источник: /

Просмотров: 129718

Дата добавления: 04.02.2014

На сайте представлены примеры программирования, которые будут полезны как для опытного разработчика схем на микроконтроллерах, так и для новичка. Особо рассматривается программирование микроконтроллеров для начинающих пользователей. Программные примеры программирования разбиты на различные разделы. Основную массу составляют примеры программирования микроконтроллеров avr и микроконтроллеров microchip. Пользователю предлагается познакомиться с различными примерами программирования и различными средами программирования: MicroLab, AVRStudio, MikroC, FloweCode. Представлены схемы на микроконтроллерах ведущих производителей: PIC и AVR. Рассматривается огромное количество схем для начинающих разработчиков. Если Вы начинающий радиолюбитель, то для Вас мы приготовили раздел микроконтроллеры для начинающих.

Современные микроконтроллеры относятся к классу микропроцессорных устройств. В основе принципа действия таких элементов лежит исполнение последовательного потока команд, называемого программой. Микроконтроллер получает программные команды в виде отдельных машинных кодов. Известно, что для создания и отладки программ, машинные коды подходят плохо, так как трудно воспринимаются человеком. Этот факт привел к появлению различных языков программирования и огромного количества различных компиляторов.

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

Популярное в разделе “MikroC”

Популярное в разделе “FloweCode”

Популярное в разделе “MicroLab”

Популярное в разделе “AVR Studio”

Популярное в разделе “Теоретические основы эл-ки”

Популярное в разделе “Основы МП техники”

Популярное в разделе “Аналоговый и цифровой сигнал”

Популярное в разделе “Цифровая схемотехника”

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

Выбор языка программирования зависит от множества факторов. В первую очередь, типо решаемых задач и необходимым качеством кода. Если Вы ведёте разработку малых по объёму и несложных программ, то можно использовать практически любой язык. Для компактного кода подойдет Ассемблер, а если ставятся серьезные задачи, то альтернативы С/С++ практически нет. Также необходимо учитывать доступность компилятора. В итоге самым универсальным решением можно назвать связку Ассемблера и C/C++. Для простого освоения языков, можно воспользоваться примерами программ для микроконтроллера. Использование примеров программирования упростит и ускорит процесс освоения программирования микроконтроллеров.

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

mculab.ru

Программы для радиолюбителей.

1) Atmel Studio
Производитель Atmel, приложение служит в качестве среды разработки приложений для устройств ARM, AVR и контроллеров Cortex-M. Программа распространяется бесплатно.

 

 

 

 

 

 

 Скачать программу вы можете с официального сайта Atmel Studio.

2) AVRDUDE

Интерфейс программы консольный, предназначена, чтобы изменять и записывать данные в памяти устройств c AVR архитектурой. В программе применяется технология программирования непосредственно в самой схеме. Приложение на английском, но существуют русификаторы. Распространение свободное.

 

 

 

 

 

Скачат программу AVRDUDE.

 

3)WinAVR
Исходный код программы открыт и свободен для редактирования – это позволяет подправить ее под свои потребности. Служит для прошивки Atmel контроллеров серии AVR. Распространяется свободно и бесплатно.

 

 

 

 

  

Скачат программу WinAVR.

4)BascomAVR

Выполняет роль среды написания кода к Atmel устройствам AVR серии. Язык написания кодов программы, похож на Бэйсик. Доступ к ней ограничен, но есть и свободная версия, без ряда функций и максимальным кодом в 4 килобайта.

 

 

 

 

 

 Скачат программу BascomAVR.

 

5)CodeVisionAVR
Программа проста в освоении и способна работать со всеми контроллерами AVR от IDE. В результате получается короткий и емкий код, но не слишком изящный, зато работает. Доступ к ней платный, есть свободная пробная версия, с максимальным кодом в 4 килобайта.

 

 

 

 

 

  

Скачать программу CodeVisionAVR.

6)VM LAB

Комплекс утилит для создания и настройки кода программы, на ряду с этим создает модель работы устройства с контроллерами AVR серии. Софт распространяется свободно.

 

 

 

 

 

   

Скачать программу VM LAB.

7)MPLAB
Работает с продукцией компании Microchip как среда для интеграции кода непосредственно в чип. Бесплатная в распространении.

 

 

 

 

 

 

Скачать программу MPLAB.

 

8)WinPic800
Служит для перепрошивания контролирующих компонентов из серии контроллеров PIC. Комплект в свободном онлайн доступе. Есть русификаторы.

 

 

 

 

 

 

Скачать программу WinPic800.

9) PICPgm
Очень качественный продукт с высоким качеством работы и скоростью написания кода, стабильно работающий. Служит для перепрошивки PIC-микроконтроллеров. Свободно распространяется.

 

 

 

 

 

  

Скачать программу PICPgm.

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

 

 

 

 

 

 

Скачать программу CooCoxCoIDE.

11) Keil uVision
Целый комплект программ утилит для прохождения всех по написанию управляющего софта для микроконтроллеров всех производителей. Этот комплект не бесплатный, но, чтобы ознакомиться есть демо-версия, в которой код ограничен 32 килобайтами и еще несколькими параметрами.

 

 

 

 

 

 

Скачать программу Keil uVision.

 

12) IAREmbedded
Программирование происходит на популярных языках программирования C, а также C++, и на ассемблере. Работает с разными производителями и семействами контроллеров. Распространение продукта платное, также доступна и версия свободного доступа, но с урезанным размером кода.

 

 

 

 

 

 

Скачать программу I AR Embedded.

 

13) Flow Сode
Один из самых известных графически оформленных инструментов для создания ПО к микроконтроллерам. Возможно приобретение русской версии. Распространяется за деньги, но доступна и свободная версия, ограничивающая серию PIC.

 

 

 

 

 

 

 

Скачать программу Flow Сode.

 

15) AlgorithmBuilder
Имеет оформленную визуальную оболочку и работает с AVR устройствами от отечественного производителя. Распространяется бесплатно.

 

 

 

 

 

 

 

 

Скачать программу AlgorithmBuilder.

 

16) MikroC
Пакет инструментов с редакторами кода, библиотеками с готовыми функциями, отладчиками и компилллирующими пакетами. Распространяется за деньги, но есть и бесплатная версия, только ограниченная.

 

 

 

 

 

 

Скачать программу MikroC.

17) ICProgramm
Один из популярнейших механизмов с оболочкой для создания к микроконтроллерам программного обеспечения всех видов и производителей. Русифицированная версия. Распространяется без ограничений.

 

 

 

 

 

 

 

Скачать программу ICProgramm.

18)PonyProgramm 2000
Программатор для работы с устройствами памяти и микроконтроллерами многих фирм через последовательный доступ. Много встроенных функций и простота в использовании. Распространяется бесплатно.

 

 

 

 

 

 

Скачать программу PonyProgramm 2000.

19) Sina Programm
Это графическая рубашка для консольного проекта AVRdude, со встроенным и удобным fust счетчиком переключателей. Распространяется бесплатно.

 

 

 

 

 

 

 

Скачать программу Sina Programm.

  20) UniProf
Очень прост в использовании, распространяется абсолютно свободно и работает со всеми устройствами серии AVR.

 

 

 

 

 

 

Скачать программу UniProf.

21) Code Composer Studio
Это мощная комплекс программного обеспечения для программирования и прошивки от производителя TexInstInc. Для использования нужно купить. Есть пробная версия с ограничениями со свободным доступом.

 

 

 

 

 

 

 

Скачать программу Code Composer Studio.

22) Tiva Ware
Очень хорошие и удобные специально под TIVA написанные библиотеки для контроллеров от техасского производителя. Пакет бесплатный.

 

 

 

 

 

Скачать программу Tiva Ware.

 

23) FastAVR
Работает на воьмибитных контроллерах серии AVR. Удобен, так как компилируется язык, похожий на Бэйсик.

 

 

 

 

 

 

 

 Скачать программу FastAVR.

24)Sourcery CodeBench
Служит чтобы создавать приложения под ARM, Cold Fire и целый ряд других. Работает на C, а также C++. Стоимость составляет четыреста долларов (есть пробная версия на месяц).

 

 

 

 

 

 

Скачать программу Sourcery CodeBench.

 

25) Code System
Целый комплект программ и инструментов для через который удобно работать с промышленным оборудованием, ориентированным на рутинную работу. Есть полностью русская версия. Распространяется свободно и без ограничений.

 

 

 

 

 

 

 

Скачать программу Code System

26) FlashMagic
Распространение этого продукта свободное, утилита направлена на программирование продукта именно от NXP – S.

 

 

 

 

 

 

 

Скачать программу FlashMagic.

 

27) STEPSEVEN-Micro/WIN
Создан специально чтобы работать с устройствами SIMATIC, производимыми Siemens. Бесплатной версии нет.

 

 

 

 

 

 

 

Скачать программу STEPSEVEN-Micro/WIN.

 

28) 4DWorkshopIDE
Работает с ориентированными на графику контроллерами и с дисплейными модулями от 4D Systems. Абсолютно бесплатная.

 

 

 

 

 

 

 

Скачать программу 4DWorkshopIDE. 

Comments are now closed for this entry

radio-magic.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *