Архив рубрики: AVR. Учебный курс

AVR. Учебный курс. Конечный автомат

Каждый кто пытался разбираться с конечными автоматами наверняка натыкался на всякие замудреные графы, какие то графики. Многие посчитав это слишком сложным плюнули и забили. А Зря! С простейшим конечным автоматом каждый из нас сталкивался с самого детства — это механическая … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (70)

AVR. Учебный Курс. Архитектура Программ. Часть 4

Вытесняющий диспетчер Давным-давно, когда я учился в школе, мне не давал покоя вопрос. Как работают параллельные операционки? Как тот же самый Windows умудряется переключать процессы, не терять регистры (да, я тогда уже начинал учить асму), как он определяет момент переключения, … Читать далее

Рубрика: AVR. Учебный курс | Метки: , | Комментарии (46)

AVR. Учебный курс. Архитектура Программ. Часть 3

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

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (61)

AVR. Учебный Курс. Архитектура Программ Часть 2

Диспетчер Данная организация программы требует чуть большего количества кода чем флаговый автомат (Хотя это еще как посмотреть. С увеличением числа задач служебный код динамического диспетчра не увеличивается, а вот флаговый автомат разрастается за счет большего числа флагов и проверок этих … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (74)

AVR. Учебный Курс. Архитектура Программ

Все учебные курсы по микроконтроллерам которые я встречал (в том числе, к сожалению, и мой ассемблерный, но я надеюсь это постепенно поправить) страдают одной и той же проблемой. В курсе бросаются строить дом не заложив фундамент. Только показав на примере … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (111)

AVR toolchain своими руками

DI HALT: В догонку к прошлому посту про AVR Studio в Linux досылаю и про сборку avr-libc там же. Вынесено из комментов к предыдущему посту. Спасибо Dark SavanT Если есть возможность поставить готовый тулчейн из пакета, лучше воспользоваться ей. преимущество … Читать далее

Рубрика: AVR. Учебный курс | Метки: , | Комментарии (25)

AVR. Учебный Курс. Программирование на Си. Работа с памятью, адреса и указатели

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

Рубрика: AVR. Учебный курс | Метки: , , , | Комментарии (139)

AVR. Учебный Курс. Программирование на Си. Атомарные операции.

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

Рубрика: AVR. Учебный курс | Метки: , , , | Комментарии (70)

AVR. Учебный Курс. Программирование на Си. Часть 4

Теперь глянем на нашу программу, скомпилим, прошьем, поглядим как выполняется. Зашиваю все через AVR Prog в Pinboard и смотрю на поведение LED1 и LED2. LED1 мигает как и задумано, но стоит мне попытаться зажечь LED2 отправкой с терминала «1″, как … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , | Комментарии (87)

AVR. Учебный Курс. Программирование на Си. Часть 3

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

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (76)

AVR. Учебный Курс. Программирование на Си. Часть 2.

Вторая часть марлезонского балета, точнее введения в программирование на Си под микроконтроллеры. Структура программы Ну вот, МК у тебя уже кое что сделал. И хоть внешне ничего не видно, но внутри у него произошли изменения — передатчик стал готов к … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , | Комментарии (156)

AVR. Учебный Курс. Программирование на Си. Часть 1

Я не раз и не два говорил, что изучение МК надо начинать с ассемблера. Этому был посвящен целый курс на сайте (правда он не очень последовательный, но постепенно я его причесываю до адекватного вида) . Да, это сложно, результат будет … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (215)

Внутрисхемная отладка AVR через JTAG ICE

Одним из самых мощных отладочных инструментов в микроконтроллерной среде является JTAG — внутрисхемный отладчик. Суть тут в чем — через JTAG адаптер микроконтроллер подключается напрямую к среде программирвания и отладки, например к AVR Studio. После чего микроконтроллер полностью подчиняется студии … Читать далее

Рубрика: AVR. Учебный курс, Готовые устройства | Метки: , , , | Комментарии (409)

AVR. Учебный курс. Делаем АЦП из Аналогового компаратора

Так сложилось, что основной МК с которым я работаю постоянно и на котором делаю подавляющее большинство задач это ATTiny2313 — он популярен, а, главное, это самый дешевый контроллер из всей линейки AVR с числом ног более 8. Я их брал … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (46)

AVR. Учебный Курс. Виртуальные порты

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

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (40)

AVR. Учебный Курс. Библиотека для LCD на базе HD44780

Сел я и дописал свою библиотеку для LCD на базе HD44780. Как она работает я тут расписывать не буду — код весьма плотно фарширован комментариями. Тем более я уже рассказывал как работать с этим дисплеем Поэтому, думаю, разберетесь. Если будут … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (276)

AVR. Учебный курс. Подключение к AVR LCD дисплея HD44780

Сегодня разменял четверть века! Так случилось, что прикупил я тут себе поприколу LCD дисплейчик две строки по восемь символов. Валялся он в ящике валялся, да чегото поперло меня и решил я его заюзать, попутно вкурив в его работу. О том … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , | Комментарии (232)

AVR. Учебный курс. Процедура сканирования клавиатуры

Итак, клавиатуру я сделал и написал процедуру сканирующую клавиатурную матрицу 4х4 кнопки. Пора бы рассказать как организовать опрос такой клавы. Напомню, что клава представляет из себя строки, висящие на портах и столбцы, которые сканируются другим портом. Код написан для контроллера … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (48)

AVR. Учебный Курс. Отладка программ. Часть 4

Продолжаем трактат об отладке программ. На этот раз в бой идут одни старики. Осциллограф Очень часто хочется в динамике поглядеть как работает программа. Особенно если ее структура сложней чем просто суперцикл. Если там конечные автоматы на прерываниях или разделение задач … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (22)

AVR. Учебный Курс. Отладка программ. Часть 3

Метод 3. USART (Работа с последовательными интерфейсами) Пожалуй самым популярным отладочным интерфейсом является все же USART. Во-первых, он поддерживается аппаратно почти всеми микроконтроллерами. Во-вторых, он прост в использовании и требует всего один/два сигнальных провода, а в третьих, для связи с … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , | Комментарии (22)