BitTorrent Трекер RusTrek.ru http://5.45.70.241/ |
|
DI Halt - AVR. Учебный курс [2008, PDF, RUS] + Code http://5.45.70.241/viewtopic.php?f=289&t=25430 |
Страница 1 из 1 |
Автор: | Релизер [ 2011-11-23 21:39 ] |
Заголовок сообщения: | DI Halt - AVR. Учебный курс [2008, PDF, RUS] + Code |
AVR Учебный курс #777 Год: 2008 Автор: DI Halt Язык: Русский Формат: PDF Качество: Изначально компьютерное (eBook) Количество страниц: 575 Описание: Учебный курс по микроконтроллерам семейства AVR Оглавление AVR. Учебный курс. ...........................................1 Автор DI HALT ..1 2008......................1 Постановка задачи...............................................6 Вводная. Что такое микроконтроллер..............7 C vs Assembler...10 Архитектура.....13 AVR Studio ликбез.............................................18 AVR Studio в Linux............................................25 Макроассемблер................................................28 Простейшая программа....................................30 Работа с памятью...............................................37 Подпрограммы и прерывания..........................49 Флаги и условные переходы.............................61 Ветвления на индексных переходах................67 Типовые конструкции.......................................72 Стартовая инициализация................................82 Скелет программы.............................................83 Операционная система. Введение....................87 Операционная система. Диспетчер задач........89 Операционная система. Таймерная служба....96 Операционная система. Установка................100 Операционная система. Пример....................104 Оценка загрузки контроллера........................110 Управляемый вектор прерывания..................113 Устройство и работа портов ввода-вывода....115 Подключение микроконтроллера. Ликбез.....122 Управление мощной нагрузкой постоянного тока........................................133 Трактат о программаторах..............................138 SinaProg — графическая оболочка для AVRDude.........................................142 Использование Bootloader’а...........................147 Прошивка PinboardProg для превращения демоплаты PinBoard в ISP программатор................................156 Конфигурация FUSE бит................................160 Отладочная плата PinBoard v1.1....................164 Работа с портами ввода-вывода. Практика...177 AVR Studio и HAPSim.....................................190 Таймеры...........192 Использование ШИМ......................................199 Передача данных через UART.......................212 Извращенский ШИМ из UART......................224 Использование EEPROM................................224 Использование аналогового компаратора.....226 Выдача данных с АЦП на UART. Мультиплексирование каналов АЦП....229 Аппаратные средства повышения точности.235 Работа с АЦП. Программные средства повышения точности.....................236 Отладка программ. Часть 1.............................239 Отладка программ. Часть 2.............................243 Отладка программ. Часть 3.............................245 Отладка программ. Часть 4.............................249 Процедура сканирования клавиатуры...........253 Подключение к AVR LCD дисплея HD44780................................................258 Библиотека для LCD на базе HD44780..........264 Виртуальные порты.........................................267 Делаем АЦП из Аналогового компаратора...269 Внутрисхемная отладка AVR через JTAG ICE...............................................274 Программирование на Си. Часть 1................283 Программирование на Си. Часть 2................294 Программирование на Си. Часть 3................301 Программирование на Си. Часть 4................309 Программирование на Си. Атомарные операции..........................................312 Как писать программы без ошибок...............319 Введение.....319 Про ошибки319 Для кого это пособие.............................319 «Учите матчасть!»......................................320 Схемотехника.....................................320 Контроллер.........................................320 Язык...320 Компилятор........................................320 Этапы программирования..........................321 Планирование программы.........................321 Расписать алгоритм....................................321 Продумать модули......................................322 Продумать данные......................................322 Разделить периферию контроллера между процессами..........................322 Учесть физические свойства обвеса.........323 Предусмотреть возможность расширения................................................323 Предусмотреть смену платформы или компилятора................................323 Написание программы...............................324 Кодирование................................................324 Соблюдать модульность........................325 Избегать условностей............................325 Типы данных......................................325 Приведение типов.............................326 Побайтовое обращение к многобайтовой переменной...................326 Определение функций......................326 Пустые операторы.............................327 Про оператор switch..........................327 Неинициализированные переменные...............................................327 Скобки в сложных выражениях.......327 «Такая ситуация никогда не случится!»...........................................327 Мертвые циклы..................................328 Не делать длинных и сложных выражений..........................................329 Операторные скобки..............................329 Операторы break и continue во вложенных циклах..............................330 Точность вещественных чисел.............331 Целочисленное деление........................331 Округление.........................................331 Последовательность делений и умножений....................................332 Правила для констант............................333 Не использовать числовые константы..............................................333 Указывать тип константы.................333 Задавать константам осмысленные значения..................................334 Два слова о проверке правильности задания констант...................334 Заключать константы и операнды макросов в круглые скобки..........336 Заключать тела макросов в фигурные скобки......................................336 Правила для функций............................337 Объявлять прототипы для всех функций.........................................337 Проверять входные аргументы функций на правильность............337 Возвращать функцией код ошибки..338 Не делать очень больших функций.338 Использовать сторожевой таймер........338 Когда нужно обрабатывать WDT.....339 Что делать, если произошел сброс по WDT....................................339 Два слова об операторе GOTO..............340 Выход из вложенных циклов............340 «Стандартные» метки.......................341 Оптимизация......................................342 Атомарный доступ.................................342 Оформление................................................343 Удобный инструментарий.....................343 Именование идентификаторов..............343 Именование функций........................343 Именование констант........................344 Именование типов.............................344 Именование переменных..................344 О «венгерской нотации»...................344 Форматирование текста.........................346 Текст файла должен быть разбит на секции....................................346 Горизонтальные отступы..................346 Вертикальное выравнивание............346 Не делать в строке больше символов, чем помещается на одном экране......................................347 Одна строка – одно действие...........347 Разделять функциональные узлы или конструкции (for, if, …) пустыми строками.....................347 Пробелы между операндами и операциями....................................347 Комментирование...................................347 Почему не пишут комментарии.......348 Для кого пишутся комментарии.......348 Содержание комментариев...............348 Что должно быть в комментариях:..............................................348 Чего в комментариях быть не должно:........................................349 Расположение комментариев...........349 Многострочные комментарии..........350 Содержательная часть комментария351 Формулировка....................................351 Отладка и тестирование.............................351 Инструменты...............................................352 Резерв по ресурсам.....................................352 Запас по периферии..........................352 Внутренняя периферия контроллера...........................................352 Внешняя периферия.....................352 Память для размещения отладочного кода......................................352 Резерв скорости.................................352 Заглушки и тестеры....................................353 Функции-заглушки............................353 Функции-тестеры..............................353 Предупреждения при компиляции............353 Что делать, если компилятор выдал предупреждение?..................354 Вывод отладочной информации................354 Блокировка вывода отладочной информации...........................................354 Резервное копирование..............................355 Программирование на Си. Работа с памятью, адреса и указатели..............356 AVR toolchain своими руками........................365 Архитектура Программ...................................368 Архитектура Программ Часть 2.....................374 Архитектура Программ. Часть 3....................380 Архитектура Программ. Часть 4....................383 Конечный автомат............................................405 Работа на прерываниях...................................408 Виртуальная машина и байт код....................413 Пример виртуальной машины........................415 Использование интерфейса USI в режиме мастера TWI..............................419 Использование AVR TWI для работы с шиной IIC (i2c)...............................425 Кусочно-линейная аппроксимация................441 Создание Bootloader’a.....................................448 Инкрементальный энкодер.............................453 Обработка множества инкрементальных энкодеров одновременно...........458 Организация древовидного меню..................463 Работа с портами ввода-вывода микроконтроллеров на Си++....................469 Управление множеством сервомашинок.......496 Подключение клавиатуры к МК по трем проводам на сдвиговых регистрах.............................................503 Подключение клавиатуры к МК по трем проводам на сдвиговых регистрах. Часть 2. Буквенный ввод как на телефоне.....526 Асинхронный режим таймера........................540 Работа с резистивным сенсорным экраном..546 Работа с графическим дисплеем WG12864 на базе контроллера KS0107..552 AVR Studio 4.19 и AVR Toolchain...................565 FT2232D и AVR. Прошивка и отладка по JTAG............................................565 1) Скелет программы ........................avr_kurs_1.zip 2) Операционная система. Введение. .........HMTR-rtos.rar 3) Операционная система. Диспетчер задач. 3.1 Trash-rtos.asm - главный файл программы 3.2 kerneldef.asm - файл макроопределений ядра 3.3 kernel.asm - ядро 3.4 Trashduino-rtos.zip - Архив с исходниками и работающим проектом для ATMega8 4) Операционная система. Пример.............NewMega.rar 5) Использование Bootloader’а...............Bootloader.rar 6) Прошивка PinboardProg для превращения демоплаты PinBoard в ISP программатор 6.1 16_PinboardPROG.hex 6.2 32_PinboardPROG.hex 7) Работа с портами ввода-вывода. Практика..io.zip 8) AVR Studio и HAPSim......................Hapsim.zip 9) Таймеры..................................ontimer.zip 10) Использование ШИМ........................pwm.zip 11) Выдача данных с АЦП на UART. Мультиплексирование каналов АЦП 11.1 avr_kurs_11.zip 11.2 Terminal.exe 12) Работа с АЦП. Программные средства повышения точности 12.1 ADCsoftFilter.rar 13) Отладка программ. Часть 4................demo16-rtos.zip 14) Процедура сканирования клавиатуры........MultiDebug.rar 15) Подключение к AVR LCD дисплея HD44780....LCD_HD44780.rar 16) Виртуальные порты........................VPort.asm 17) Делаем АЦП из Аналогового компаратора....UARTundSoftADC.zip 18) Внутрисхемная отладка AVR через JTAG ICE 18.1 JTAG.lay 18.2 miniICE.hex 19) Программирование на Си. Часть 1..........Pinboard_1_1.rar 20) Программирование на Си. Часть 2..........Pinboard_1_2.rar 21) Программирование на Си. Часть 3..........Pinboard_1_3.rar 22) Архитектура Программ Часть 2.............GCC-RTOS.ZIP 23) Архитектура Программ. Часть 4............avr_os.zip 24) Конечный автомат.........................switch_tech.zip 25) Работа на прерываниях....................Pinboard_5.zip 26) Пример виртуальной машины................WM-GCC-RTOS.ZIP 27) Использование интерфейса USI в режиме мастера TWI 27.1 usi.rar 28) Использование AVR TWI для работы с шиной IIC (i2c) 28.1 avrmultimaster.zip 29) Создание Bootloader’a....................BootExample.zip 30) Обработка множества инкрементальных энкодеров одновременно 30.1 encodertests.zip 31) Организация древовидного меню 31.1 testmenumod.zip - Файлы для Proteus 31.2 testmenusrc.zip - Исходники 32) Работа с портами ввода-вывода микроконтроллеров на Си++ 32.1 cppgpioforavr.zip 33) Управление множеством сервомашинок.......gcc-rtos_1.zip 34) Подключение клавиатуры к МК по трем проводам на сдвиговых регистрах. 34.1 buttons_2.rar - Проект для AVR Studio 34.2 template_RTOS.rar - Шаблон микроядрая для AVR Studio 35) Асинхронный режим таймера................GCC-RTOS-ASSY_RTC.ZIP 36) Работа с резистивным сенсорным экраном...GCC-RTOS--tscreen.zip 37) Работа с графическим дисплеем WG12864 на базе контроллера KS0107 37.1 TestingWGLCD.zip 38) Прошивка и отладка по JTAG 38.1 happy_jtag.zip 38.2 happy_jtag.zip |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |