Архив метки: Язык Си

AVR Studio 4.19 и AVR Toolchain

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

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

Организация древовидного меню

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

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

AVR. Учебный Курс. Кусочно-линейная аппроксимация

Часто бывает так, что приходится обрабатывать жутко нелинейные величины, задаваемые каким-нибудь извращенным законом. Простейший пример — датчики расстояния SHARP GP2D12. Только поглядите на его характеристику: Сам черт ногу сломит, а ведь нам бы неплохо иметь выход в человеческих величинах, ну … Читать далее

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

AVR. Учебный Курс. Работа на прерываниях

Одним из серьезных достоинств контроллеров AVR является дикое количество прерываний. Фактически, каждое периферийное устройство имеет по вектору, а то и не по одному. Так что на прерываних можно замутить кучу параллельных процессов. Работа на прерываниях является одним из способов сделать … Читать далее

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

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. Учебный курс | Метки: , , | Комментарии (203)