nlothik (nlothik) wrote,
nlothik
nlothik

Categories:

Про программирование микроконтроллеров

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

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

Главная проблема с микроконтроллерами, если ими заниматься любительски, не постоянно -- в том, что нативный язык программирования у них либо ассемблер, либо достаточно низкоуровневый Си. И это сильно ездит (мне) по мозгам. Чтобы, например, подать единицу на одну ногу, надо писать в регистр, ответственный за эту ногу. От такого программирования я хочу находиться как можно дальше.

Но есть такая штука как Ардуино Си -- где группа граждан нарисовала туеву хучу макросов, и сделала таким образом вполне удобноваримые микроконтроллерные плюсы. Ну да, в теории там оно занимает больше места, но за пределы доступных восьми килобайт флеша как в ATTiny85, я пока не выходил даже с довольно сложными проектами. Мне скорее ног у микросхемы перестанет хватать, чем восьми килобайт. И если это произойдёт -- велика проблема, взял микроконтроллер побогаче, и всё. Например, ATMega328P. Там 32 килобайта под хранение программы есть. И стоит он копейки.

Основная проблема с Ардуино -- из коробки оно не умеет работать с серией микроконтроллеров ATTiny. Только с платами разработки типа Ардуино Уно и т.д. Но это не беда, втыкается штепсель, и гуляй-не-хочу. Вот тут написано, как: http://highlowtech.org/?p=1695

Вторая проблема с использованием Ардуино для программирования микроконтроллеров -- нужен отдельный программатор. На плате разработки он встроен, а тут надо покупать. Рекомендую купить официальный USBASP Томаса Фишла: http://www.ebay.de/itm/-/321829837505 . Он работает с официальной ATMEL Studio, если потом захочется попрограммировать на "настоящем" AVR C.

Я купил неофициальный, а потом занимался майнкампфом с допаиванием недостающих перемычек и обновлением прошивки. Разница в цене в пять долларов не стоит отчаянных матюгов и ручной доработки.

Третья проблема с Ардуино для микроконтроллеров -- ЧУДОВИЩНАЯ среда разработки. Как на этом чуде вообще можно что-то более-менее серьёзное сваять -- я вообще не понимаю. Но эта проблема решается проще всего. Берётся Микрософтовская Вижуал Студио (2013 или 2015, я использую рабоче-крестьянскую коммунальную версию), и на неё накатывается штепсель VisualMicro: http://www.visualmicro.com

Затем надо накатить штепсель на этот штепсель (отсюда же, что и штепсель для среды разработки Ардуино: http://highlowtech.org/?p=1695), чтобы оно сумело работать с контроллерами ATTiny и радоваться жизни в человеческой среде разработки с нормальным редактором кода с автотабуляцией, закрытием скобочек, и прочим бильярдом с профурсетками. Кто хоть раз серьёзно программировал, понимает.

И получается нормальное программирование микроконтроллеров в нормальной среде разработки, на нормальном языке программирования без всяческих заклинаний типа RJMP, BREQ, и прочих.

Рекомендую.
Tags: 73, программирование, рекомендую, хобби
Subscribe

  • Аргумент

    Увидел в соцсетях, мне понравилось. –Как может ваше право на владение оружием перевешивать жизни детей? Оружие надо срочно отобрать.…

  • Как выглядит минималка в 15 в час

    Собственно, последствия можно видеть прямо сейчас на примере Амазона, который поднял минималку до 15 монет в час для всех работников в США. Из…

  • Смотри, не перепутай

    В Окленде семьям дают пособие. Но только небелым. То-есть, чернокожей семье, живущей на 40К в год, дадут, а белой с доходом в 20К — это…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 5 comments