Введение в Встроенную Электронику - 2


Для сербскохорватском перевод данного руководства, пожалуйста, посетите этот сайт . Спасибо Anja Skrba за перевод.

Для армянского перевода данного руководства, пожалуйста, посетите этот сайт . Спасибо Gajk Меликян за перевод.

Лекция 2 - Как получить код на микроконтроллере

Вы можете получить все детали для этой лекции здесь . Мы также настоятельно рекомендуем вам получить мультиметр с настройкой "непрерывности". Хорошее качество мультиметра с этой настройкой идет за ~$ 60 и выше, 300$ для действительно захватывающего один. Нам нравится наш за 60$ дешево.

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

Я предполагаю, что у вас есть пробник 5V питания для работы. Далее нам нужно вставить ATMEGA в макете и подключить питание и заземление.

ATmega8 (работает так же с ATmega168 и 328) в трансзональном среднем ряде макета

Вам нужно будет слегка согнуть ножеку DIP'а ( с двухрядным пакетом) , чтобы получить ATMEGA оседлать макет центра. Будьте осторожны! Не погните контакты слишком далеко внутрь. Колья ATmega должны вставить во внутренние два большинства строк на макете. Я считаю, что лучше вставить одну сторону, а затем слегка подтолкнуть IC в сторону, пока другая сторона контактов не может вставить в противоположный ряд на макете. Непонятный, я знаю.

Примечание: 5В 'рельс' является горизонтальный ряд отверстий рядом с красной линией. Вы должны иметь провод, соединяющий 5V регулятор мощности цепи к одному отверстию на шине 5V. Это возбудит все отверстия рядом с красной линии с 5V. Это верно о синей линии, а также. Все горизонтальные отверстия рядом с синей линией соединены друг с другом. Одно из этих отверстий должен быть соединен с контактом заземления на вашем регулятора напряжения и заземление вашей стены бородавка. Вы можете подключить контакты VCC на ATmega328 в любые отверстия вдоль рельса 5V, и вы подключите контакты GND о ATmega328 в любое отверстие вдоль синей GND железной дороге.

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

Pin Маркировка на ИС

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

ATmega328 должен находиться в макете, контакт 7 (VCC) и пин-код 20 (AVCC) должен быть подключен к 5V железнодорожным и контактами 8 и 22 (GND) должен быть подключен к GND на хлеб борту. Если вы включите цепь питания включен, ATmega328 теперь работает, но это не имеет ничего бежать!

На самом деле это не совсем верно - есть еще одно соединение, которое должно быть сделано до того, как начнет работать ATmega328 код. СБРОС штифт на ATmega328 должен быть подключен к VCC. Вы можете либо провод СБРОС контактный непосредственно к 5V или вы можете "привязать его высоко», подключив к RESET, булавку VCC через резистор. Это позволит вам добавить кнопку сброса мгновенный. Что это? Линия сброса на ATmega328 именно то, что это звучит как - он сбрасывает микро так же, как сброса работает на вашем компьютере. Если вы посмотрите на таблицу ATmega328 вы увидите ярлык RESET, записывается с линией над ней. Это указывает на то, что номенклатура сброса контактный активен на низком уровне. Что такое "активный низкий"? СБРОС контактный разъем является входным сигналом. Низкий уровень на этом выводе будет положить микро в сброса - т.е. контакт активируется с низким входом, так называемый "активный низкий". Так что, если вы не хотите, чтобы ваши ATmega328, чтобы остаться в состоянии сброса, вам нужно потянуть этот вывод.

Теперь вам нужно кнопку сброса. Кратковременное переключатель представляет собой переключатель, который активируется (или закрыта), а вы прикасаясь к нему и открыть, когда вы отпустите кнопку. Их часто называют "тактильные переключатели", потому что они «щелчок», когда вы нажимаете их давая человеку нажав на кнопку обратной связи некоторые "тактильных".

Это то, что схема часть выглядит следующим образом. Примечание контакты 1 и 2 соединены друг с другом. 3 и 4 соединены друг с другом. А при нажатии кнопки 'де, она временно соединяет 1/2 + 3/4 вместе.

Обратите внимание, эта кнопка имеет пять ног. Если кнопка имеет пять ног, просто игнорируют среднюю ногу - он не подключен ни к чему и могут быть обрезаны.

Чтобы проверить эту кнопку, выскочить испытанный мультиметра и установите его в настройках непрерывности. Это установка на более хороших, мультиметры среднего класса, который имеет решающее значение для поиска неисправностей и экспериментировать. Сенсорный зонды вместе - вы должны услышать звуковой сигнал, указывающий, что есть непрерывность или (почти) нулевой путь сопротивления между зондами. Вставьте кнопку в макете и зондировать два контакта на одной стороне кнопки. Если вы выбрали штырьки 1/2 или 3/4 вы должны услышать звуковой сигнал. Эти контакты постоянно соединены между собой внутри выключателя. Если вы выбрали штырьки 1/3 или 2/4, вы не будете слышать шум - но нажал на кнопку. Нажатием кнопки вы будете делать электрическое соединение между всеми четырьмя контактами - и вы услышите тон! Это означает, что у вас есть непрерывность электрической цепи.

Схема показывает контакты 1 и 2 переключателя сброса соединенных друг с другом (подключенного к земле) и штифтами 3/4 соединены друг с другом (подключен к! RESET). На практике, вам просто нужно переключиться на работу. Играйте с мультиметра и найти два контакта, которые не шумят, когда кнопка не трогали, и делают шум, когда кнопка нажата. Используйте эти два контакта.

Схема, показанная выше, что мы собираемся для. 10K резистор 'тянет' штифт сброса высокой во время нормальной активности. Потянув за контактный высокой сброса, то ATmega328 работает в обычном режиме. При нажатии на кнопку сброса (S2), штифт сброса видит непрерывную связь с землей. Поскольку сопротивление через подавленное переключателя почти равен нулю, он выигрывает (по сравнению с сопротивлением резистора 10К!) И штифт сброса надвинутой, RESET, активируется и переходит в ATmega328 сброса. Отпустите кнопку и штифт сброса подтянут снова и ATmega328 выходит из сброса. Острота!

ATmega328 цоколевка

Смотрите ямочка из таблицы ATmega328? Глядя на верхней части ног IC (вниз), с углублением в верхней части, номера контактов увеличиться, начиная с 1 в верхнем левом углу. Это, как пронумерован каждый IC контактный. Однако ориентация маркировки немного варьируется между производителями и между типами упаковки. Ищите не-конгруэнтных маркировки как ямочкой, маленькая точка, белая стрелка, с насечками углу - все, что делает эту область чипа, отличной от других частей чипа, вероятно, указывает на контакт 1. Если вы сомневаетесь, проверьте техническое описание.

Сброс проводной рядом с ATmega8 (То же самое относится к ATmega168 и ATmega328)

Узнайте, как использовать настройку непрерывности на мультиметра. Это будет иметь жизненно важное значение для устранения неисправностей на дороге!

Каждый производитель микроконтроллер имеет другой метод, чтобы получить код во флэш-памяти микро. В последние несколько лет наблюдается акцент на ISP или «системного программирования". ISP позволяет программировать микросхемы без необходимости отключения микроконтроллера из приложения. Это не тривиально! История была гораздо более болезненным. Компания Atmel разработала относительно прямой метод, который требует контроля нескольких штифтов (6 всего). Из-за этого простого интерфейса, аппаратный программатор, который необходим для подключения компьютера к этому ISP интерфейс очень прямо вперед (дешево!), А также.

Красная полоса указывает на расположение Pin 1

Помните, как мы определили pin1 на ИС с углублением? Ну разъемы также должны поляризацию таким образом, чтобы мы не реверс ориентацию разъема и обжарить вещей. К сожалению, как разъемы пронумерованы противоположен ИС. На рисунке разъема ISP, вы видите красная полоса указывает на штырь 1. IC подсчитывает последовательно вниз на одну сторону. Соединители с другой стороны, увеличение числа контактов, назад и вперед, как вы работаете свой путь вниз разъема.

Цепь программирования выглядит примерно следующим образом:

  1. Существует бесплатный компилятор C называется AVR-GCC. Пользователь записывает код в C, а затем компилирует этот код в HEX файлы

  2. AVR-GCC можно установить на платформе Windows, с легким WinAVR установки программы

  3. Пользователь получает этот HEX код на AVR с помощью ISP штифтами

  4. Как последовательный порт программист и параллельный порт programmere был разработан для подключения порт компьютера к выводам AVR ISP

  5. Компьютер запускает программу командной строки для передачи файла HEX с компьютера, на последовательный или параллельный порт, а также к МНП штифтами AVR

  6. Микроконтроллер запускает машинный код (* .HEX файлы) После подачи питания или сброса

Что такое компилятор C ? Это программа, которая вводит программу, написанную на языке C и выводит файл HEX. Мы предпочитаем программировать на C, потому что легче для нас, чем сборка и более гибким, чем BASIC.

Что такое HEX файл ? Это файл, который содержит различные символы шестнадцатеричные. Эти шестигранные 'коды' представляют собой машинные инструкции, что ATmega328 понять. Этот файл получает то, что ниспослано программистом, а программист загружает эти машинные инструкции на ATmega328.

Перед тем как мы можем получить слишком сумасшедшим, скачать и установить WinAVR на компьютере , что вы будете делать ваше развитие кода на. Если эта ссылка устаревает, поиск Google должен принять вас прямо к нему. Окна установки должны быть довольно прямо вперед - следить за всеми по умолчанию. WinAVR содержит версию компилятора GCC и различные другие инструменты, в том числе и AVRDUDE Блокнот программиста. AVRDUDE простой командной строки программа, которая берет файл HEX и отправляет его в последовательный или параллельный порт для программирования на микроконтроллер Atmel.

Работа в обратном направлении до этого списка, я приведу вам пример 'Hello World' файл HEX, который докажет, что все работает правильно на вашем микро. С любой микро плате контроллера, первый трюк всегда, чтобы получить светодиод мигать. Это 'Hello World' встраиваемых систем. Угадайте , что blink_1MHz.hex делает?

С мигательного шестнадцатеричный файл в руке, теперь нужно, чтобы получить его на микро. Вам нужно будет подключить AVR-PG1 (или AVR-PG2) в ATmega328. Самый простой способ сделать это с помощью 9 проводов работает с вашего макете к разъему 10-контактный разъем на разъеме ISP на AVR-PG1 / PG2.

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

AVR-PG2 параллельный программатор подключен в ATmega328. Я также проводной две 0.1uF крышки. Эти развязывающие колпачки расположены рядом с VCC и GND контактов на ATmega328, чтобы помочь уменьшить шум в IC. Вы можете думать, у вас есть прямой DC 5V, но не на самом деле - эти 0.1uf колпачки помогают уменьшить пульсации на 5V линии. Да, ATmega328 вероятно, будет работать без них, но они хорошо установлены.

AVR ISP Примечание: Вы действительно должны подключить все 4 GND булавки. Вы не можете подключить только один из штифтов GND на разъеме ISP.

Кроме того, нам нужен светодиод для контроля. Это может быть привязан к любому GPIO булавки. PC0 выглядит как хорошее место.

Резистор / LED порядок не имеет значения - просто помните (от Учебник 1), что вы должны иметь резистор! Контактный GPIO на самом деле не имеет значения. blink_1MHz.hex переключит все контакты на всех портах, так что вы можете подключить резистор к любому штифтом. По мере добавления периферийного оборудования вы хотите, чтобы выделить некоторые контакты для альтернативного использования (например, TX и RX штырьками для последовательной связи).

Вы получаете ближе! Время для программирования чипа!

После установки WinAVR, вы должны иметь несколько новых иконок на рабочем столе. Программисты Блокнот хороший редактор кода и текстовыделитель.

Что такое редактор кода / текстовыделитель? При программировании, вам понадобится текстовый редактор на вашем компьютере, так что вы можете создать код (тип). После того как вы создали этот код '' на вашем компьютере (в редакторе кода) Вы передадите этот код компилятора (вы будете нажать на кнопку, которая запускает компилятор с файлом C вы типизированных) и компилятор создаст шестнадцатеричный файл (предполагается, что нет никаких проблем или опечатки в коде). Текстовыделитель? При создании кода, часто бывает приятно иметь различные части вашего цвета программы закодированы , так что вы можете сказать общие вещи , как для () и #define. Это подсвечивание очень помогает при программировании.

Используйте в зависимости от того текста инструмент, который вам нравится. Блокнот будет работать, но довольно в зачаточном состоянии. Я также хотел JFE из моих ПОС дней. Оба имеют опцию "Инструменты", который является большим, но JFE лучше, на мой взгляд, потому что в нем перечислены функции C, которые вы можете дважды нажать на кнопку и перейти. Если есть способ сделать подобный трюк в Программиста Блокнот 2, пожалуйста, дайте мне знать! Поскольку Программисты Блокнот v2 (так называемый PN2) поставляется с установкой WinAVR, мы будем использовать его!

AVR-GCC является чрезвычайно мощным, очень сложный, и трудно использовать на начальном этапе. Я привык к прохождению * .c файл в ПОС компилятор ( CC5x ) и получить файл HEX обратно. Нет суеты, никакого беспорядка. Поверьте, боль становится AVR-GCC и работает стоит. AVR-GCC является действительно хороший компилятор, и это бесплатно. Я включил запас Makefile и файл blink_1MHz.c в blink_1MHz.zip , чтобы вы начали. Я ни в коем случае не является Linux или сделать тип человека. Все, что вам нужно знать, что, когда вы вводите 'Make' в командной строке, компилятор будет искать файл не называется 'Makefile' (файл без расширения!) И использовать этот файл, чтобы направить как скомпилировать файл C.

Это единственные два файла вы должны должны получить мигания для компиляции. Открывают blink_1MHz.c в блокноте программиста и нажмите Tools-> Сделать все. Это то же самое, набрав "сделать все" из командной строки из того, что когда-либо каталога вы сохранили эти два файла. Например

C: \ Code \ Blink>make all

должен составить свой код, а также. Это просто немного легче сделать это через интерфейс Блокнот программиста, а не переключая назад и вперед в окне командной строки. После того как вы успешно создали файл C в файл HEX, теперь нужно, чтобы получить шестнадцатеричное файл на AVR. Это, наконец, время, чтобы привести свою систему! Дешевые AVR программисты требуют цели (это ваш макет), чтобы обеспечить питание для программиста (это AVR-PG1 или PG2). Включите ваш хлеб доска - вы должны увидеть индикатор питания включается. С этого момента, я буду считать, что вы используете AVR-PG2 параллельного порта программиста.

Существует только два пятна в Makefile, что вы должны быть обеспокоены в это время. Эти два пятна располагаются в разделе опций программирования. Этот Makefile огромен, но прокрутите вниз до раздела Параметры программирования (AVRDUDE). Теперь поместите '#' перед линиями, которые вы хотите закомментировать.

Если вы используете AVR-PG1 (последовательный порт программист) редактировать следующим образом:

#AVRDUDE_PROGRAMMER = STK200
AVRDUDE_PROGRAMMER = ponyser

# Com1 = последовательный порт. Используйте lpt1 для подключения к параллельному порту.
#AVRDUDE_PORT = Lpt1
AVRDUDE_PORT = COM1

Если вы используете AVR-PG2 (параллельный порт программист) редактировать следующим образом:

AVRDUDE_PROGRAMMER = STK200
#AVRDUDE_PROGRAMMER = Ponyser

# Com1 = последовательный порт. Используйте lpt1 для подключения к параллельному порту.
AVRDUDE_PORT = lpt1
#AVRDUDE_PORT = COM1

Конечно, номера портов зависят от конкретного компьютера, но как только вы получите все работает, вы будете на всю жизнь. Предполагая, что вы отредактировали и сохранили Makefile, вернитесь к PN2. С вашего макетная питание, нажмите Tools-> Program. Это пошлет команду 'сделать программу' в командной строке. Если все настроено правильно, вы должны были успешно загружены blink_1MHz.hex на вашей целевой ATmega328 и ваш светодиод должен мигать.

Если вы получаете сообщение об ошибке:

не может открыть устройство "giveio"

Тогда прочитайте эту страницу . В основном вам нужно скопировать giveio.sys файл из C: \ WinAVR / bin в каталоге C: каталог \ Windows, затем введите install_giveio.bat в командной строке.

Типичные проблемы:

Если вы все еще не в состоянии запрограммировать AVR - это где 99% от первых пользователей времени в конечном итоге. Dig в и устранения неполадок.

Правильно ли соединения ISP? Это легко получить разъем ISP в обратном направлении. Взгляните на фотографии выше.

Есть ли свободные провода? Вытащите мультиметра и убедитесь, что у вас есть 5V доставляются к VCC и GND булавки на ATmega328. Имеют ли провода, идущие к разъему ISP имеют хорошее твердое соединение?

Есть ли у ваших ATmega328 подключен к власти и землей?

Является ли ваш 5V питания 5V вывода?

У вас есть право COM-порт или LPT порт, выбранный в вашем сборочном файле?

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

Хорошо - я буду считать, что вы получили код правильно загружен на AVR и что индикатор мигает. Поздравления! Теперь вы хорошо на вашем пути к целому миру боли! Как только вы получите одну вещь работает, это трудно остановить! GPS, регистратор данных, RF, разводка - это всего лишь пара хмель прочь.

Вы можете получить все детали для этой лекции здесь .

Вот некоторые дополнительные ресурсы для программирования AVR:

Мы любим обратную связь! Пожалуйста , сообщите об опечатках, комментарии или рекомендации spark@sparkfun.com .

Лекция 1 - Предпосылки и источник питания

Лекция 2 - Как получить код на микроконтроллере

Лекция 3 - Что такое генератор?

Лекция 4 - UART и последовательной связи

Лекция 5 - AVR GCC компилирование

Лекция 6 - Пайка Основы

Лекция 7 - SMD Пайка

Лекция 8 - Eagle: Schematics

Лекция 9 - Eagle: PCB Layout

Лекция 10 - Eagle: Создание новой части

Типичные ошибки, советы и хитрости

Комментарии 111 комментариев

  • ------- Tech Support / Устранение неисправностей / Общие вопросы Советы -------

    Настройка оборудования

    Карманный AVR программатор может быть использован с этой обучающей программы "Лекция 2 - Как получить код на микроконтроллере" https://www.sparkfun.com/tutorials/93~~HEAD=pobj . Этот учебник был первоначально со ссылкой на двух других программистов, а не AVR карманный программист. Схема должна была быть изменена немного, чтобы заставить его работать. Во-первых, вам нужно построить схему на макетной плате. Мне не нужно, чтобы добавить регулятор напряжения моей установки, так как AVR карманный программист может обеспечить 5V. Убедитесь , что вы переключаете переключатель "Питание Target." Я действительно использовал два 0.1uf Блокировочные конденсаторы в цепи, LED для мерцании, LED для питания, кнопка сброса, и связанные с ними резисторы как указано в данном руководстве. Одна вещь, которую я сделал, чтобы добавить 16МГц кристалл на выводах 9 и 10 ATmega328P.

    Установка драйвера и WinAVR

    Убедитесь, что вы установите драйвер для Вашего кармана AVR программатора. Их можно найти в разделе документации по ссылке драйвера Windows. После установки, карманный AVR программист будет придумать , как новое дерево под libusb-win32devices -> USBtiny.

    Кроме того , убедитесь , что вы устанавливаете последнюю версию WinAVR http://sourceforge.net/projects/winavr/files/ . Для получения дополнительной информации о загрузке, установке и настройке WinAVR, проверьте этот PDF - файл => http://winavr.sourceforge.net/install_config_WinAVR.pdf~~HEAD=dobj .

    Изменение Создание файла

    Я должен был сделать некоторые изменения для того, чтобы использовать карманный AVR программист в старом учебнике. Я использовал редактор Context [http://www.contexteditor.org/index.php] вместо программиста Блокнот или JFE, что было объяснено в руководстве, чтобы изменить Создание файла. Код в редакторе Context был выделен с помощью C опция / C ++, чтобы прочитать файл проще. В разделе, который говорит "Опции программирования (AVRDUDE)," Я должен был изменить две строки, чтобы получить программист, работающий карманный AVR:

    1.) В строке 200, измените:

    AVRDUDE-программист = STK200 к AVRDUDE-программист = usbtiny

    2.) В строке 207, изменить:

    AVRDUDE_WRITE_FLASH = -U вспышки: ш: $ (TARGET) .hex к AVRDUDE_WRITE_FLASH = -F -U вспышки: W: $ (TARGET) .hex.

    Первая модификация должна была установить программисту использовать карманный AVR программатора. Вторая строка переопределить определенную проверку на AVRDUDE. Я нашел это в комментариях, но не столкнуться с этой проблемой до и после изменения строки 207. Имейте в виду, что # закомментирует линию.

    Компиляция Hex File

    Откройте командную строку. Я поместил blink_1MHz на моем рабочем столе , но вы можете поместить его в любом месте на вашем компьютере. Просто убедитесь, что вы находитесь в той же директории в командной строке. Убедитесь , что вы знаете , как перемещаться по папкам => http://www.wikihow.com/Change-Directories-in-Command-Prompt . После ввода правильного каталог, введите сделать все , чтобы собрать шестнадцатеричный файл. Это будет выводить много файлов в папке blink_1MHz. Наиболее важным является файл .hex.

    Если вы хотите изменить файл Си, вы должны изменить файл Си, тип очищаете в командной строке и введите все сделать снова.

    Установка фьюзы, Выгрузка Hex файла, и установка бит блокировки

    Вы должны стараться смотреть на учебник по установке загрузчика Arduino => https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader/selecting-a-programmer~~HEAD=dobj . Это поможет в получении правильного соединения от кабеля программирования к вашему макетной плате Arduino. Я проверил с помощью мультиметра, чтобы проверить проводку необходимо установить непрерывность. Кроме того, раздел под "UPLOADING кодекса - Hard Way" будет полезно, когда в командной строке, чтобы установить фьюзы, загрузите шестнадцатеричный файл, и установить биты блокировки. Синтаксис чувствителен и вы можете иметь проблемы, если вы не пишете правильные команды.

    Так как вы находитесь в той же директории, уже от компиляции шестигранную файла в командной строке, вам просто нужно ввести две строки, как указано в руководстве, чтобы установить плавкие биты, а затем загрузить шестнадцатеричный файл и установить бит блокировки. Убедитесь , что вы измените шестнадцатеричный файл в строке ... вспышка: ш: hexfilename.hex ... до ... вспышки: w: blink_1MHz.hex ...

    Для получения дополнительной информации, я рекомендую проверить на AVRDUDE руководство по другим вариантам => http://www.nongnu.org/avrdude/user-manual/avrdude.html#Top .

    После выполнения всех эту установку, я был в состоянии получить микроконтроллер Atmega 328P моргнуть с карманом AVR программатора. Надеюсь это поможет.

    • Для Arduino Bootloader , проверьте здесь => http://code.google.com/p/optiboot/ . Это загружает Arduino Uno Bootloader так, что после использования программатора в первый раз, вы можете загрузить прошивку с FTDI и Arduino IDE без необходимости программиста.

  • Я только что получил эту работу, программирование с использованием WinAVR на WinXP. Я использую SparkFun АРН программиста для программирования чипа. Вот то, что я должен был сделать: скачать и установить WinAVR загрузить и установить драйвер usbtinyisp из adafruit.com в Makefile:

    AVRDUDE_PROGRAMMER = stk500v2 # не уверен, если это действительно необходимо

    добавить '-F' (без кавычек, конечно) к AVRDUDE_WRITE_FLASH (это связано с AVRDUDE не признавая ATmega328)

    AVRDUDE_PORT = # да, это не верно, ни один порт, COM, LPT, или иным образом. usbtinyisp использует протокол все свои собственные. почему, я спрашиваю?

    При том, что все это просто персиковый - The лил 'светодиод мигает, как ожидалось. Далее, чтобы получить этот идти под Linux ...

  • Ох, и он также работает, если я удерживать нажатой кнопку сброса в то время как я бегу AVRDUDE.

  • на Ubuntu выносливы AVRDUDE не программировать микро и дал следующее сообщение:
    AVRDUDE: Хлоп! Invalid устройство подписи.
    AVRDUDE: Ожидаемая подпись для ATmega168 является 1E 94 06
    После того, как я соединил pin1 на микро, чтобы программисты обнулить или SS пин avrdued был в состоянии запрограммировать его и индикатор мигает.
    Почему этот учебник ничего говорить о подключении к SS PIN1?

  • Здравствуйте и спасибо за эти учебники. Я закончил этот забавный проект, и с удовольствием наблюдал LED мигает. Так что я начал ковыряться в файле C и нашел времени, когда 3 штифтов в течение 500 мс и 500 мс выкл. Так что я начал менять эти цифры, на 800 мс, от 200, затем на 200 мс и выключения 800. После того, как я понял, как использовать PN, это работало нормально. Шаги, чтобы сохранить все, а затем сделать чистым, сделать все, и программы. Это прекрасно работает. Но теперь я обнаружил поведение чипа, что мне любопытно. Когда разъем параллельного порта подключен как к компьютеру и платой, индикатор мигает, как это, как предполагается, 500 мс и 500 на мс выкл. НО, когда я отключаю разъем от компьютера, он, кажется, вернуться к одной из программ, которые я играл с, а светодиодный индикатор мигает прибл. 200 мс вкл и 800 мс выкл. Так, кажется, есть две программы, которые будут работать, один, когда плата подключается к компьютеру и один, когда это не так. Я полагаю, программа 200/800 является одним хранящегося на чипе и программой 500/500 хранится либо также на чипе или где-нибудь еще, например, в компьютере? Я не понимаю этого. Есть проблема, что я не полностью стер старую программу с чипа? Есть ли способ сделать это? Благодарю.

  • мигать мигать мигать ой такой симпатичный вид после нескольких часов поиска и устранения неисправностей;)

  • Я сделал это с atmega644 и запрограммирован нормально, но индикатор не мигает - оказывается, моя проблема была у меня была светодиодную неправильный путь вокруг, минус к PB0 (или различные другие контакты), положительный результат на 5V через резистор. Почему это? Есть ли контакты на 644s работают по-разному ..?

  • Ни одна из фотографий не показываются для меня кто-либо другой?

  • Пожалуйста помоги. Я пытаюсь запустить моргнуть, но получаю эту ошибку:

    "Не удается открыть устройство" COM1 ""

    что я должен делать, любая помощь?

    --- Копия программы ----

    "Make.exe" Программа AVRDUDE -p ATmega328P -P COM1 -с ponyser -U вспышки: w: blink_1MHz.hex AVRDUDE: ser_open (): не может открыть устройство "COM1": Система не может найти указанный файл.

    AVRDUDE: serbb_setpin (): SetCommState () не удалась: Неверный дескриптор.

    make.exe: *** [Программа] Ошибка 1

    Процесс выхода Код: 2 Время съемки: 00:00

    • Дважды проверьте, что ваши COM-порты являются правильными. Это может быть не COM1 на вашей машине.

  • Я не могу получить карманный программатор распознавать чип. Он работает на Arduino, так что я знаю, что настройки компьютера и карманный программист ОК. Я проверил 5v и ЗЕМЛЯ к правильным штифтами. Я обнаружил ошибку в моем контактном сброса соединения. Я имел 10K резистор, подключенный к Gnd вместо 5в. Может ли это пожарили чип? Если нет, то что еще я могу проверить?

  • Привет у меня нет 330 Ом резисторы у меня только 360 Ом резисторы Могу ли я использовать их я также 220 Ом резисторы?

  • Если вы используете Windows 7 и получить "доступ запрещен." При попытке install_giveio.bat, попробуйте правой кнопкой мыши командную строку и запустить как администратор. Хороший улов JR!

  • Для ранга NooB похожа на меня.
    некоторые вопросы, которые Арент объяснить реальные хорошо для карманных Programer и программистов ноутбука.
    Несжатого файла мигания и сделать файл должен находиться в той же папке, (Windows 7 не будет prperly распаковывать сохраненные файлы, пока я не переместил их, даже если вы можете просматривать их они не были несжатый, насколько программисты ноутбук был concearned.
    Маленькое замечание об использовании программистов ноутбук,
    верхний и нижний регистр важно !!!
    в использовании "инструменты" сделать чистым, чтобы очистить предыдущие компиляции в регистре (вы не потеряете file's_), а затем сделать все, чтобы собрать его, а затем сделать программу, чтобы написать программу на чипе.
    Стандартный марка файл имеет проблемы с карманным программистом. внести следующие изменения.
    MCU = ATmega328
    AVRDUDE_PROGRAMMER = usbtiny
    AVRDUDE_PORT = USB (это одно, вероятно, нет необходимости)

    AVRDUDE_FLAGS = -p $ (MCU) -P $ (AVRDUDE_PORT) -c $ (AVRDUDE_PROGRAMMER)

    AVRDUDE_FLAGS = -c $ (AVRDUDE_PROGRAMMER) -п m328p
    как только я сделал эти изменения, которые она woked хорошо, я оставил -b отменялись из-за комментариев на сайте AVRDUDE в.
    Удачи.

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

  • Здравствуй!
    Я до сих пор получаю сообщение "не могу открыть устройство giveio", я побежал install_giveio.bat несколько раз, но безуспешно, я всегда получаю сообщение об ошибке!
    К веб - сайтом вы предоставили для решения этой проблемы больше не работает !

  • Для тех , кто имеет проблемы с "giveio" в Windows 7 см этот сайт.
    Http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=88034 В
    основном это говорит, скопируйте 'giveio.sys' на ' C: / Windows / system32 ", а затем запустить 'install_giveio.bat' в качестве администратора. (запустить от имени администратора: щелкните правой кнопкой мыши на командной строке и выберите Запуск от имени администратора)

    • Благодаря JR, я работаю над install_giveio.bat работать в течение нескольких часов! Щелчок правой кнопкой мыши и работает как администратор на Windows 7 сделал трюк. Ты жизнь заставка.

  • Как мы делаем это с USB? Пожалуйста помоги!!!

  • AAARRRRHHHH! Как использовать карманный AVR программатор с этим?!?!?!

    • Я не знаю, как сделать это с помощью WinAVR, но вы можете запрограммировать с помощью микро AVRDUDE с помощью командной строки. Сначала скопируйте шестнадцатеричный файл в C: \, а затем запустить из командной строки: AVRDUDE -c usbtiny -p m328 -U вспышки: ш: blink_1MHz.hex. Просто замените m328 с конкретным типом микро.

  • Windows 7 <br />
    Установить WinAVR <br />
    Посмотрите на ваш PATH переменной <br />
    Я потратил часы , пытаясь понять, почему я не мог пинг сетевой адрес из командной строки, когда я , наконец , решил посмотреть на мой PATH переменной. Что там было?
    C: \ WinAVR-20100110 \ Bin; C: \ WinAVR-20100110 \ Utils \ бин
    Установщик , кажется, удалили все остальные части моей переменной PATH.
    Я бы порекомендовал сделать копию вашего PATH перед установкой WinAVR.
    Хороший учебник! Я , наконец , получил ATmega328 работу с этой программой , прежде чем перейти на следующий учебник , где я его жареным. Но, есть все , что работает над новым чипом.
    Надеюсь , что советы PATH помогает.

  • Я купил комплект для учебника и сделал это безболезненно до точки не программировании 328. Нет Блинки, несогласованные сообщения (который должен был быть сам ключ), и плохая связь для "читать эту страницу 'для giveio задачи , Расстройство начинается здесь. Конечно, это основной встроенный учебник, но немного более подробно за некоторые предложения Процесс по делу «Что теперь, когда вещи не работают? было бы хорошо, так вот некоторые из них : <br />
    <br /> Во-
    первых, я сделал некоторые веб - серфинг. ( На самом деле, во- первых, я скопировал giveio вещь и установил его, но я не знаю , если это было никакого signficant влияние на мои результаты или нет.) ATmega328P программируется с помощью соединения SPI (Serial Peripheral Interface). Это хорошо документированы в заявке на патент ATMEL (приложение) примечание 910 (http://www.atmel.com/dyn/resources/prod_documents/doc0943.pdf). Из того, что я узнал , что информации , поступающей от ноутбука до 328 в основном контролируется SCK (контакт 7 на ICSP разъеме Olimex (AVR-PG2 / STK) программист) и MOSI (контакт 1), так что я начал там , Внутренности разъема Olimex приведены в: <br />
    http://www.olimex.com/dev/pdf/avr-pg2b.pdf. Дополнительные баллы для получения данных листа на 74HC244 внутри него. Я <br />
    работал в обратном направлении по 74HC244, и увидел , что SCK приводится в движение от DB-25 - контактный 6 и MOSI от контакта 7. У меня есть осциллограф, поэтому я зондировали эти два контакта ищет признаки жизни, потянув меня опорный от булавки 18-21 (я использовал 19, IIRC). Нет радости , когда я нажимаю 'программы' из Блокнота программиста. LPT1 не играл. Если бы я не имел о-сферу, я бы подключил мой верный вольтметр (или импульсный уловитель, если бы я был один). Я натыкался на некоторые программы в Интернете , которые превращают параллельные булавки или отключить для отладки, поэтому они могут быть использованы , чтобы увидеть , если ваш компьютер на самом деле управляет параллельный порт из LPT1. Они были бы удобны с вольтметра, но с осциллографом я их не нужно. За некоторые из предложений другой комментаторам ", я попытался LPT2 и LPT3, но до сих пор ничего не получил. У меня нет большого терпения для отладки проб и ошибок в любом случае. <br />
    <br />
    Я получил WinAVR загружены на мой шлюз ноутбук, модель M685-E, работающий под управлением Windows XP (Service Pack 3), и используя параллельный порт на док - станцию. Настройка BIOS (F2 при включении питания) для моего параллельного порта был установлен в положение AUTO. Я не совсем уверен , что означает AUTO, но , учитывая выбор AUTO, ВКЛЮЧИТЬ или ВЫКЛЮЧИТЬ, я изменил его включить. Мне также дали четыре варианта для режима. Учитывая , что мне нужно было услышать от 328 на MISO, я даже не пытайся "только для вывода. "Двунаправленный" не привело к любому выходу либо, но я получил шевелит , используя LPT1 как для «ПОП» и «ЭХЗ». Адреса BIOS оба были 378 , и я не чувствовал необходимости менять их. Далее творческий обзорное показали шевелит включали строку $ AC53 используется для перевода 328 в режим программирования, так что мои проблемы порта были , по- видимому фиксированной. Затем пришло время подключить аппаратное обеспечение резервного копирования. <br />
    <br />
    Пер приложение записке 328 предназначен для настройки всех его портов булавки в качестве входных данных в то время как он находится в режиме сброса, подготавливая его для приема команд программирования. Обратите внимание , что сброс означает контакт 1 заземлен (Можем ли мы получить люди SparkFun , чтобы скорректировать изображение чипа пинаут в этом учебнике так RESET , имеет линию над ней, пожалуйста?). Для тех , кто смотрит на схеме Olimex, контакт 5 не появляется подключен на первый взгляд. Но если вы посмотрите на IC1B, выходы Y2, Y3 и Y4 подключены к небольшой алмаз / круг с каракуля '(5)' над ним. Эта запись иногда используется в схемах для обозначения соединения при волочения проволоки может сделать схематичное труднее читать. Для невольным, это помечает другую точку на расстроить-O-Meter. Итак , в соответствии с этим, сброса 328 приводится в движение от DB-25 штифта 9. Все благости до сих пор. <br />
    <br /> В
    то время как мы смотрим на этой схеме, также отмечают ICSP контакты 4,8 и 10 Арен 'т подключен ни к чему. На самом деле, провода физически отрезана внутри программиста Olimex (тот , который я только что получил, во всяком случае). Несмотря на смелые ноты в учебнике о земле булавки, это просто не соответствует действительности (или , по крайней мере , это не для меня). Pin 6 является единственным , что имеет значение. Таким образом , в конечном счете, вам нужно шесть проводов, а не девять. <br />
    <br />
    Глядя далее на схему Olimex, обратите внимание , что питание для IC приходит от разъема ICSP (через диод). Это дает возможность для IC работать на (и выход) другое напряжение , чем параллельный порт , который его вождения. Это не тривиальна. <br />
    <br />
    В шевелит из моего параллельного порта было около 3 вольт. Я предполагаю , что я не должен быть удивлен; производители систем с параллельными и последовательными портами (особенно ноутбуки) уже известно , играл быстро и свободный с сигнала порта напряжения в течение многих лет, и вы не можете на них рассчитывать. <br />
    <br />
    Я работал на 328 (и ICSP контакт 2) на 5 вольт. Был падение +0,25 вольт через диод, так что 74HC244 работал на 4,75 вольт, что было до сих пор значительно выше по сравнению с 3-вольтовых входов. Чипсы , как это имеет определенное минимальное входное напряжение , прежде чем они признают вклад как логика '1' (Это на техническом описании). Чем выше рабочее напряжение, тем выше минимальный входной '1' напряжения. Ниже этого напряжения, все ставки выключены, которые я думаю , способствовали мои противоречивые первоначальные результаты. <br />
    <br /> У
    меня есть источник постоянного тока, поэтому я пропустил лекции 1. 328 предназначен для работы при напряжении до 1,8 вольт, так что я просто повернул вниз напряжение питания (4,3 вольт, в моем случае), чтобы получить 74HC244 рабочее напряжение больше в линии с его входами. Блинки Блинки. Улыбка.Очевидно, что вы , ребята , с 7805 не может просто повернуть вниз ваше напряжение , как я сделал (если это действительно ваша проблема). Есть способы , чтобы смещать 7805 , чтобы получить что - то другое , чем на 5 вольт от него, но LM317 лучше подходит для используемого в переменной питания. Если вы проверить схему для этого набора, вы увидите , он настроен примерно такой же , как ваш 7805, но вместо того , чтобы заземления его непосредственно, есть некоторые резисторы там , чтобы контролировать его (некоторые люди используют декоративную горшок): HTTP: / /www.sparkfun.com/products/114 <br />
    <br />
    Последнее замечание для всех вас , кто посчастливилось быть загипнотизированы вашим новым Блинки: Я выключил ноутбук и Блинки остановился blinkying. Я оставила программисту прикрепленную, поэтому выключая компьютер также отключает параллельный порт (Дух). Видя нули на параллельный порт вынуждает программиста держать 328 в режиме сброса, предотвращая его запуск. Если вы дергать линию сброса от программиста до порта 1 на 328, он blinkys снова. <br />

  • Я жду моих частей, чтобы начать этот урок, так что я не могу проверить напряжения, но я запутался в разделе RESET. Если есть 10k резистор между 5V питания и сброса ПИН, привычка Сброс пин увидеть значительно более низкое напряжение, чем 5V? Я новичок на все это, просто пытаюсь понять. Благодаря!

    • Есть ли штифт сброса просто все равно, если есть какая-то напряжение там? Так оно не сбрасывается, если это какая-то увидеть напряжение, но когда кнопка сброса нажата, напряжение падает до нуля на выводе сброса, потому что есть четкий путь к земле?

      • Да , ребята, контактный сброс активен на низком уровне. Так что в цифровом мире, для всех намерений и целей высокого что - нибудь чуть ниже 5v (или 3.3V , если вы используете систему 3.3) и низкое что - нибудь чуть выше 0В. Где они встречаются? Это зависит от чипа к чипу (есть репетит на него в новом размера укуса праймеров секции) Вы , кажется, понимают очень хорошо , что идет дальше: Штырь видит около 4-5V так что "ON" , но при нажатии на кнопку ее основания входное напряжение и палец получает около вольт "ничего". <br />
        То , что вы делаете , хотя забывает , что точка переключатель не маршрутизировать RST контактный к земле, это маршрутизировать напряжение от резистора к GND (Перед тем как он может достигнуть булавку , чтобы вытащить его вверх) Так что, когда вы нажимаете переключатель вы тонущий не только чип к GND , но и напряжение системы, и что вы получаете , когда вы заземлить напряжения системы без сопротивления? Правильно: короткая! Таким образом, резистор там так , что при сбросе IC, это не короткий водопроводная. Конечно, IC бы сбросить без него, но вещи могут вызвать , когда ты нажал на кнопку, лол. <br />
        <br />
        Ура!

  • У меня ушло четыре часа, но, наконец, получил это происходит. Первоначально я пытался на моем ноутбуке LPTless с помощью USB к параллельному порту донгл через виртуальную машину (длинная история), но не мог заставить его работать. Затем я добавил параллельный порт PCI на моем рабочем столе полагая, что Программисты Блокнот искал конкретный адрес, и это не работает, либо с lpt1. Я был снова и снова проводке, поэтому я пошел в диспетчере устройств (devmgmt.msc в командной строке) и открыл параллельное устройство порта PCI. На вкладке ресурсы, которые он перечисляет расположение IO, так я определил начальное положение ( "0xec00") вместо "LPT1" в качестве значения для AVRDUDE_PORT в файле макияжа. Я также изменил значение MCU на "m328p", чтобы соответствовать мой чип как это было предложено в других постах. Должны помнить, что это все чувствительно к регистру. И, наконец работает. Надеюсь, это поможет кому-то еще, что в настоящее время параллельные порты трудно найти на современных машинах.

  • Эти учебные пособия являются большими, спасибо за что делает их (я купил наборы для первых нескольких из SparkFun)
    Мой мигающий светодиод работал в первый раз: D Существует один шаг без вести из учебника - первая строка Makefile необходимо изменить - изменить имя MCU , чтобы соответствовать микро у вас есть.
    MCU = m328p
    работал для меня с микро , предусмотренных в комплекте. (Выполнить все сделать и программу после этого изменения)
    я бы также хотел больше объяснений о "развязки" шапки добавлены в фотографии, которые не показаны на схеме - или даже ссылку или поиск по ключевому слову , чтобы я мог узнать цель этих колпачков ,

  • Если вы 5v до 10k резистора на кнопку сброса, но после того, как 0v резистора это справедливо сказать , что есть короткое замыкание в цепи на вашем макетирования где - нибудь? У меня есть два регистра 8 бит сдвига подключили к АРН и кучей светодиодов , подключенных к сдвиговых регистров.
    Обратите внимание , что , когда программист подключен и обеспечивает подачу питания на АРН, он работает, но когда он не подключен, линия сброса переходит на низкий уровень после того, как резистор, но не раньше , но конечным результатом является то, что АРН в возврате.

  • Сначала я подключил контакты на разъеме в обратном порядке . Если вы посмотрите на схематическом , а затем посмотреть на картину разъема с синим текстом , указывающего расположение выводов схема является обратной изображения , если вы держите разъем в руке с красной полосой , ориентированной вверх.
    В любой ставка, если я подключить его как на картинке, а не как на схеме, я получаю 0В на выводе сброса в ATmega328. Если я удалю сброса контактный провод от разъема я получаю 5v вдаваясь в выводе сброса на ATmega328.
    Разве я обжарить карманный программист? Будет ли это на самом деле так просто пожарить?
    Так что я не могу запрограммировать Микроконтроллер , потому что он проводится в режиме сброса. Любая причина , почему Коннектор будет тянуть эту линию к низкому уровню? Я знаю, короткое замыкание на землю, но это совершенно новый блок получил по почте от SparkFun пару дней назад.

    • После зондирования контактов разъема , чтобы выяснить , где именно 5v был , а затем снова подключить все провода, я был в состоянии запрограммировать ATmega328 с
      AVRDUDE -p m328p -с usbtiny -U вспышки: w: blink.hex

  • Я застрял пытается использовать AVRDUDE из командной строки, чтобы "проверить в" с ATmega 328 (или это ATmega328P? Это говорит P на чипе, но не на странице SparkFun продукта) Какой бы ни один он, DIP находится на Макетная и проводной для питания и подключен к 6-контактного программирования заголовка через USBtinyISP. Все вроде бы на месте, точно совершенно, AVRDUDE говорит "привет" к USBtinyISP, но не на чипе. Какова точная командной строки, чтобы получить AVRDUDE "регистр" с чипом?

  • Для разработки на Mac OS X, вы можете скачать CrossPack для AVR вместо WinAVR. Его можно найти на сайте http://www.obdev.at/products/crosspack/index.html

  • Piconomic FWLIB была пересмотрена и обновлена. Следующая ссылка старая: http://piconomic.berlios.de/avr_quick_start_guide.html Он теперь находится по адресу: http://piconomic.co.za/fwlib/ a_v_r q_u_i_c_k s_t_a_r_t __g_u_i_d_e.html



    Наслаждайтесь!
    Pieter

  • Большие учебные пособия и Дито комментарии. Они сделали меня способным позволить LED мигает, через USB и @ 16 МГц. В качестве следующего эксперимента я недавно пытался запрограммировать другую простую вещь (я стараюсь , чтобы активировать одну шпильку с помощью переключателя, после активации другой штифт должен гореть светодиод в течение нескольких секунд).
    Таким образом , я редактировал файл Blink_1Mhz и сохранен это , как Tijdschakelaar. Тогда "Сохранено в" Makefile , вы поставляется в той же папке , и редактировать его ( на самом деле только что изменил Target = Blink_1Mhz к целевой Tijdschakelaar). Мышление это будет делать все , что я получил: не нашли править , чтобы сделать Tijdschakelaar.elf.
    В чем может быть проблема?Вероятно , что - то мертвым очевидно.
    Greetz из Бельгии.

  • мой ноутбук оленья кожа имеет порт принтера. Как я могу использовать USB для программирования?

  • Есть ли способ, чтобы получить компьютеры последовательный порт для программирования ATmega328 через файл .hex?

  • Просто вопрос; как бы вы запрограммировать ATmega, если у вас нет параллельный порт (принтер) на любом рабочем столе или ноутбук?

  • Если вы используете карманный программист USBtiny для учебника, не включают в себя строка , -B 1 команды на данном этапе: микроконтроллер не достаточно быстро , чтобы идти в ногу с программистом , используя -B 1 переключатель.
    В Makefile, я имеют следующие параметры:

    имя MCU

    MCU = m328p

    Аппаратные средства Программирование: Альф AVR910 AVRISP Баском BSD

    dt006 pavr PicoWeb конским STK200 STK200 sp12 stk500

    AVRDUDE_PROGRAMMER = usbtiny

    com1 = последовательный порт. Используйте lpt1 для подключения к параллельному порту.

    AVRDUDE_PORT = COM6
    (я не уверен , AVRDUDE смотрит на ком порт для программиста USBtiny.)
    Кроме того , подключение коннектора 10 пин вроде медведя. Я использовал вместо 6 - контактный. Обратите внимание , что разъем ключом. Если вы держите разъем , так что отверстия перед вами, вот номера контактов:
    6 4 2
    5 3 1 ​​,
    где ключ выступ находится на дне, ниже штифта 3. Стержни следующим образом :
    1 - MISO -
    2 - VCC (+5 вольт)
    3 - SCK
    4 - MOSI
    5 - RST
    6 - GND

    • спасибо так много! Без этого поста я никогда не получил бы мой первый миганием светодиода.

  • Будет ли эта работа с домашним Dapa параллельного порта программиста , как описано в этой ссылке: http://www.arduino.cc/en/Hacking/ParallelProgrammer

    • Я могу подтвердить , что параллельный порт работает программистом. Советы по строительству самостоятельно. Кабель не должен быть слишком длинным , и я должен был удалить резистор на выводе 11 разъема DB25. Я скачал ISP программист программного обеспечения Windows , чтобы проверить это. Если вы используете AVRDUDE, следующая команда должна работать:
      AVRDUDE -p ATmega8 -P lpt1 -с DAPA
      Это говорит AVRDUDE для идентификации устройства. По умолчанию, девственница ATmega8 должен иметь свои предохранители биты , установленные для запуска на 1Mhz. Можно попробовать добавить 16 кристаллов MГц и .22 шапки, а если что - то не работают.

  • Я пытаюсь программировать ATmega328P с помощью этого процесса, и не имели успеха еще. Я должен был добавить карту PCI , чтобы получить параллельные и последовательные порты, и не были в состоянии проверить эти порты еще. Диспетчера устройств XP утверждает , что параллельный порт функционирует и находится на LPT3.
    Я проверил напряжения и соединения SPI по крайней мере , в 4 раза, и попробовал несколько вариантов LPT порта и имени MCU в сборочном файле, но до сих пор я получаю " AVR устройство не отвечает "ошибка.
    Я не могу сказать, есть ли существенное различие между ATmega328P и 168 , который по умолчанию в Makefile. Есть идеи?

    • Для чего это стоит, диапазон ввода / вывода для параллельного порта B8A8-B8AF, я думаю, не типичный адрес на LPT порт от чтения других сообщений.

      • Оказывается, что если покопаться в AVRDUDE документации, порты LPT1, LPT2 и lpt3 жестко закодированы на адреса 0x378, 0x278, и 0x3bc. Мой PCI параллельный порт не в любом из этих адресов.
        Интерфейс командной строки позволяет для этого случая, так что изменить линии 204 в Makefile в адрес вашего порта
        AVRDUDE_PORT = 0xB8A8
        Я не уверен , если это имеет значение, но я в конечном итоге с линией 43 в Makefile как:
        MCU = ATmega328P
        вместо 168
        Надеюсь , что это помогает тем , кто последует за.

  • Что делать , если мой компьютер не Paralel порт? Может ли эта работа для моего и как?
    Gvozdan@gmail.com

  • У меня это так близко , что я могу почти вкус (хорошо, см) светодиод мигает, но это выходит с:
    AVRDUDE: подпись Device = 0x1e950f
    AVRDUDE: Ожидаемая подпись для ATmega168 является 1E 94 06
    Двойная проверка чипа, или использовать -F переопределить
    проверить
    Я использую 328 вместо 168. Кто-нибудь знает, как либо изменить код, чтобы он ищет 328 в подписи или использовать чек -F переопределение? Любая помощь приветствуется.

    • Я предполагаю , что у вас есть это сейчас, но я оставлю эту записку для других. Я получил ту же ошибку.
      Откройте Makefile и найдите строку AVRDUDE_WRITE_FLASH. Можно добавить AVRDUDE параметры командной строки для этой линии , и они будут запускаться автоматически при выборе Tools> [WinAVR] Программы. Добавьте -F к концу этой линии , и это заставит писать.
      Насколько я могу сказать , что нет никаких причин , вы не можете использовать 168 код на 328 (одном чипе, больше памяти) , но AVRDUDE не нравится.

  • Программировали 328 с карманной программиста AVR.

    • Программировали Tiny13. Этот карманный программист убийца купить, прекрасно работает.

  • Во-первых, я тоже новичок ранга с ATmega168, и др. и др. Но я просто хотел бы поделиться тем, что я мог бы использовать в качестве кода blink.c для упрощения кусок задержки:

    включают

    включают

    // Delay.h является стандартным АРН-Libc библиотечный модуль
    INT основных (недействительными)
    {
    // Установить PORTC контакт 1 (PC0) для вывода
    ныряльщиков = 0x01; в
    то время как (1)
    {
    // Набор светодиод выключен
    PORTC = 0xfe; delay_ms (250); // множество LED на PORTC = 0xff; delay_ms (250);




    }
    возвращает 1;
    }

    • Е. шляется! Я забыл о зачистке символов здесь. Включаемого линии следует читать:
      включать АРН / io.h с 'меньше' до и "больше чем" символы после АРН / io.h. То же самое с UTIL / delay.h.
      К сожалению!

  • У меня возникли проблемы с загрузкой код на ATmega168. Я использую серийный программист. Код компилируется нормально, но когда я иду, чтобы загрузить код на AVR, я получаю следующее сообщение об ошибке:

    "Make.exe" Программа
    AVRDUDE -p ATmega168 -P COM1 -с ponyser -U вспышки: w: blink_1MHz.hex
    AVRDUDE: AVR устройство не отвечает
    AVRDUDE: Сбой при инициализации, RC = -1
    Дважды проверьте подключение и повторите попытку, или использовать - F , чтобы отменить
    эту проверку.
    AVRDUDE сделано. Спасибо.
    make.exe: *** [Программа] Ошибка 1
    Процесс выхода Код: 2
    Время съемки: 00:01
    Кто - нибудь есть решение этой проблемы ??

    • Две вещи , чтобы проверить (в случае , если вы еще не сделали).
      1. Убедитесь в том , что питание включено (для AVR)
      2. Дважды проверьте , что вы используете правильный COM-порт (вы 'COM1' выходных состояний). Если вы используете USB-последовательный порт кабель, дважды проверьте , какой коммуникационный порт он был назначен в системе Настройки.
      Надеюсь , что это помогает.
      ; -> (Cjh)

      • Я добавил 20МГц кристалл , и она работала. Когда он начал он не убегал кристалл 20МГц, а скорее 1Mhz по умолчанию ... странно да?
        Он теперь работает и я могу перепрограммировать его теперь без каких - либо проблем, и редактировать плавкие биты , чтобы использовать его на 20Mhz!
        Serial Com работает без проблем.

  • Я собираюсь купить наборы для лекции 1 и 2, но у меня есть вопрос. Что делать, если мой компьютер не имеет параллельные или последовательные порты? Я уверен, что я могу получить USB-адаптеры, но они будут признаны надлежащим образом и иметь возможность отправить его в микро?

  • По большей части я получил все работает. Мне было интересно , сколько времени потребуется , чтобы загрузить программу на устройство? Я использую самодельный серийный программист , основанный на схеме AVR-PG1B. Мне пришлось заменить некоторые из компонентов , и было интересно , если это корень из моих медленных загрузки или , если это просто норма?
    ; -> (Cjh)

    • Обновление,
      я просто вытащил старый ноутбук , который имеет COM-порт и все работает , как я ожидал бы. Я думаю , у меня возникают проблемы с моей USB-2-последовательный кабель.
      ; -> (Cjh)

  • Эти учебные пособия являются большими. Большое спасибо.

  • Я бегу Windows 7, и при попытке загрузить код для микроконтроллера, я получил следующее сообщение об ошибке: не удается открыть устройство "giveio"
    . Я нажал на ссылку , указанную в уроке, но связь оборвалась Затем я использовал окна проводника GUI для копирования C: \ WinAVR \ Bin \ giveio.sys в C: \ Windows \ giveio.sys, пошел в командной строке, и вошли: install_giveio.bat
    Он выводит следующее: копирование драйвера в целевой каталог окна файл: C: \ Windows \ giveio.sys
    Система не может найти указанный файл.
    Удалите запущенный сервис , если это необходимо ...
    Установка / 2k / XP драйвер Windows NT: giveio
    Установка giveio из C: \ Windows \ giveio.sys ... установить не удалось (состояние 6):
    . Недопустимый дескриптор
    начиная giveio ... Не удалось запустить (состояние 6) :
    недопустимый дескриптор.
    ОШИБКА: Установка giveio не удалось
    кто - нибудь есть идея о том, что я делаю неправильно?

  • Привет У меня есть проблема. Когда я загрузить ссылку на файлы, я не получаю Makefile, я только получаю файл alled blink_1MHz. Откуда Makefile идти?

  • Мне не удалось распаковать файл blink_1MHz.zip с помощью WinZip состояний 14. Ошибка "Не удается открыть файл:. Это не представляется корректным архивом" Есть
    ли ссылка в учебнике по- прежнему имеют blink_1MHz.c и Makefile?

  • Резистор 10кОм находится в месте, чтобы ограничить ток I = (5V / 10000Ohm), когда кнопка закрыта. Если бы не было там рельс 5V будет замкнута непосредственно на землю, когда кнопка закрыта.

  • Ты замечательный! Этот учебник является слишком большой!
    Сегодня я сделал мой самый первый LED мигает после 9 часов непрерывной работы и уничтожение 3 ATMEGA16 Micros! Но последний, путем настройки правильные Плавкие биты был запрограммирован правильно!
    Я бегу далеко за пределы этого учебника в настоящее время, реализуя все мои смоделированные проекты Proteus AVR в реальном мире , и это так весело и удивительно!

  • Вся работа в порядке, в спасибо.

  • Здравствуйте,
    Будет ли все это работать с ATmega8? мне интересно, потому что это дешевле и проще получить здесь, в Литве: P

  • ОК, я пытался понять это и не могу. Почему резистор до переключателя, подключенного к RESET? Я знаю, что это "тянуть перезапуском", но как резистор сделать это? Почему вы не можете просто заменить резистор с проволокой? Thanx!

    • Резистор есть для ограничения тока на землю. В противном случае вы бы короткое замыкание источника питания. Закон Ома:
      напряжение / сопротивление = ток, или:
      напряжение / ток = сопротивление. Таким образом , вы поймете резистор 10K Ом будет ограничивать ток через резистор 0,5 миллиампер (0,0005 А). Это важно , поскольку резистор, скорее всего, ¼ Вт резистор. Потребляемая мощность (эффект нагрева) через резистор Вольт х ток = 5 х .0005 = 2,5 милливатт, что намного ниже , чем в рейтинге 250 мВт резистора.

  • Я открыл мой STK200 и использовали тест непрерывности на моем мультиметра , чтобы убедиться , что распиновка были правы, и я нашел 3 из 4 не подключен ни к чему.
    Просто интересно , почему все 4 должны быть подключены , когда только один действительно неся что - нибудь ...
    Кроме того , по этой причине я проверял разводка в том , что я в настоящее время прошли через две разные чипы ATmega168 , которые не отвечают ни к чему вдруг.
    Ну, первый сделал какое -то время , а затем остановился, но это было даже тогда глючит ( такие вещи , как LED только работать , пока я не отключил программист, а затем не работает , пока не были заземлены щит вокруг штырьков на программиста. Кое - что я узнал случайно , когда я пошел , чтобы подключить его обратно в.).
    Второй Безразлично 'т работать вообще. Я получаю нулевой ответ.
    Я думал , что сначала все эти проблемы были из - за того , что я получил стены бородавка 5v, и с 5v регулярным не было достаточно над головой, так что мое напряжение рельса было действительно около 4.75. Так что я только что получил 9В стены бородавка , и это твердое совершенным 5v все вокруг теперь. Тем не менее никакой помощи, однако.
    Есть предположения?

  • Здравствуй!
    Эта ссылка старая: http://www.piconomic.co.za/avr.php Пожалуйста , измените его: http://piconomic.berlios.de/



    С наилучшими пожеланиями,
    Pieter

  • Я шляться AVR параллельный порт , и я программист боролся в течение нескольких часов для того , чтобы моргнуть эту чертову во главе. Я Finaly успех в BIOS на необходимости модифицировать конфигурацию параллельного порта моего компьютера. Похоже , это было действительно важно для моего компьютера , чтобы установить его на: ECP (режим с расширенными возможностями) и порт (O / I) 378
    Только тогда LPT3 работы, то не спрашивайте меня , почему.

  • Я не могу получить код для компиляции для меня. Я получаю эту ошибку ...
    Compiling: blink_1MHz.c
    АРН-НКУ -с -mmcu = ATmega168 -I. -gdwarf-2 -DF_CPU = 8000000UL -Os -funsigned-символьные -funsigned-битовые -fpack-структура -fshort-перечислений -Wall -Wstrict-прототипы -Wa, -adhlns = blink_1MHz.lst -std = gnu99 -MD -MP - MF .dep / blink_1MHz.od blink_1MHz.c -o blink_1MHz.o
    blink_1MHz.c: 60: фатальная ошибка: при открытии файла зависимостей .dep / blink_1MHz.od: Нет такого файла или каталога
    сборник прекращен.
    make.exe: *** [blink_1MHz.o] Ошибка 1

    Процесс выхода Код: 2
    Время съемки: 00:00
    Я посмотрел на код , и я не вижу каких - либо ошибок. Любая помощь будет оценена.
    благодаря

    • В Windows Vista, мне пришлось вручную создать папку .DEP в каталоге я пытался компилировать. Проводник Windows не позволит мне сделать это, так что я сделал это через командную строку.

      • Что файл, который вы сделал называется? Я сделал один называется .depblink_1MHz.od и она до сих пор не работает.

        • К сожалению мои обратные косые не появлялся. Я буду использовать стрелки , чтобы показать вложенные папки вместо
          C: -> код -> blink_1MHz, я нуждался в дополнительной папке , что я должен был создать вручную 'C: -> код -> blink_1MHz -> .DEP'. После того, как эта папка была там, я собрал и создал файл .od

        • Я должен был сделать папку под названием '.dep' в директории мой .c файл был. Так что, если мой код сидел в C: \ код \ blink_1MHz \, я нуждался в дополнительной папки, которые я должен был вручную создать 'C: \ код \ blink_1MHz.dep \'. После того, как эта папка была там, я собрал и создал файл .od

    • Похоже, что-то происходит не так с Makefile. Я не все, что знакомы с Makefiles, но, похоже, он не может найти каталог / файл с именем .dep / blink_1MHz.od - делает файл на самом деле существует (он должен быть создан самим сделать процесс)?

  • Для тех, кто спрашивает о USBtinyISP, да, это работает! Этот индикатор мигает, как я печатаю! :)
    Я использовал разъем 6 пин , чтобы я мог избежать 4 провода заземления. Вы должны будете ссылаться на эту схему на сайте ladyada, чтобы выяснить , какой штырь которых: http://www.ladyada.net/images/usbtinyisp/usbtinyisp2sch.png
    ВКК (контакт 2) и GND (контакт 6) штифты на той же стороне , что как лента. Итак:
    контакт 1: MISO
    контакт 2: VCC
    штифт 3: SCK
    контакт 4: MOSI
    контакт 5: RST
    контакт 6: GND
    Очень легко запутаться на этом этапе - я должен был перепроверить и перемонтировать много раз. Кроме того , убедитесь , что вы используете пинаут схему ATmega168 , чтобы увидеть , где соответствующие контакты чипа расположены - схемные для старшего чипа показывают контакты в разных местах. Так, на чипе ATmega168:
    MISO: штырь 18
    VCC: штифты 7
    SCK: контакт 19
    MOSI: контакт 17
    RST: контакт 1
    GND: контакт 8
    Также необходимо подключить контакт 20 к вашему макетирования VCC и пин - код 22 к вашему макетирования GND ,

    • Ой, а также, если вы используете USBtinyISP, вам нужно использовать следующее в вашем Makefile:
      AVRDUDE_PROGRAMMER = usbtiny
      Не уверен , что вам нужно , чтобы установить ваш порт на ПК, но и на Mac, это работает:
      AVRDUDE_PORT = USB

      • У меня usbtiny работает на Windows (Vista) машины, а так же, как на Mac, порт должен быть просто "USB". Он мигает прочь, даже когда я говорю.

        • По моему опыту , вы можете оставить порт = COM1 на компьютере до тех пор , как вы установили драйвер USBTiny и программист = usbtiny <br />
          <br />
          Кроме того , если вы делаете этот учебник с ATtiny13 просто использовать , что в качестве имени устройства как в Makefile и при инициализации AVRDUDE. В списке , который AVRDUDE дает вам , кажется, указывает , что вы должны ввести "t13" , но он понятия не имеет , о чем вы говорите , если вы используете это имя. Просто введите "ATtiny13" <br />
          <br />
          Кроме того, если вы отключите программатор и обнаружить , что индикатор перестает мигать (даже если вы не используете программиста для питания цели) дергать провод сброса к разъему ISP , Когда питание на программиста (по крайней мере usbtiny) она тянет контакт сброса на низком уровне. <br />
          <br />
          Alrighty, только мой маленький кусок советы. Повеселись!

  • Перед тем, как начать эти учебники, показывая свое невежество, я должен знать, что программист USB работает с этими учебники. Имеет ли STK500 работу для этого в замене AVR-PG2 программист или как о USBtinyISP? Это звучит как будет работать?

  • Будет ли серийный программист (PGM-00014 и САВ-00065) работают так же , как параллельную (PGM-00013 и САВ-00064)? Учебник дает настройки Makefile для обоих , но пакет детали имеет параллельную версию порта. Кроме того , это программист ничего более проводов непосредственно от контакта к контакту? Могу ли я просто подключить провода напрямую без программиста?
    Другой мой вопрос касается питания. Будет ли работать 9В батареи лучше , чтобы уменьшить шум? Если он будет работать, я могу просто заменить ствол с ним и ничего не изменится? Как долго будет длиться батареи?
    Спасибо за вашу помощь , заранее, я новичок и пытается начать так дешево , как я могу :)

  • Я последовал за учебник 1 и 2 и думал , что это правильно - но ничего не получалось. Я получил "AVRDUDE: AVR устройство не отвечает" сообщение от обоих, ноутбук программиста и CMD-линии. . Я использую параллельный программатор , подключенный к IBM Thinkpad В
    конце концов я попробовал другой LPT порт - и даже если окна заставляет меня полагать , что существует только LPT1 в системе, AVRDUDE работает с LPT3 (светодиод теперь мигает красиво) - но только один раз.
    Я не могу перепрограммировать ATmega , если я не перезагружать ноутбук. Я получаю такое же сообщение об ошибке , как и раньше , без перезагрузки.
    Кто - нибудь есть идея , что происходит? (и , возможно , еще более важно решение , которое позволяет мне перепрограммировать без перезагрузки)
    Заранее спасибо.

  • Будет ли USB-программист USBtinyISP быть хорошим вариантом для использования через параллельный программист? Мой ноутбук не имеет параллельный ввод.

    • У меня есть USBtinyISP и это , кажется, работает прекрасно, хотя я не могу получить мой моргать светодиод.
      Имеет ли извлекать обломок от моего программиста и положить в на макете перезагрузки чип?

  • После программирования я получаю некоторые ошибки:
    ошибка верификации, кулачный несоответствие в байт 0x0000: AVRDUDE
    0x0C = 0x00!
    а также
    AVRDUDE: SafeMode: lfuse изменилось! Был 62, а теперь Fe
    я тоже немного запутался переключателем .. Это не программа , если я не удерживать нажатой кнопку сброса. Это то , как предполагается функционировать?

  • Будет ли возможность получить небольшое пояснение кода. Я думаю, что я все понимаю аппаратные вещи, но я не совсем уверен, как код работает. Единственный другой опыт, который я был кодирования Micros это с Arduino (язык и аппаратное обеспечение).

  • Блинки Блинки Блинки = D По-
    видимому, любит следующие настройки BIOS:
    Параллельный адрес порта 378
    Режим двунаправленной
    И несмотря на заявления , что мой компьютер делает около 378 будучи LPT2, Makefile , по- прежнему хочет, чтобы она lpt1.
    Далее , чтобы попытаться обмануть его в работа с USB-параллельного моста , так что я не должен брать плату из таблицы с ноутбуком на P4 коробке ~ _ ~

  • Хорошо я надеюсь, что эта история поможет кому-то ... Так что в течение последних двух недель я пытался получить свои фишки (запрограммированным AVRs & 8052s), но безрезультатно. Он продолжал говорить что-то о состоянии обнаружить микроконтроллер. Я пробовал четыре разных программистов, дом построен и магазин купил, но ничего. Пару дней назад я вспомнил, что, когда я построил свой Frankenputer в прошлом году я не включил параллельный порт в биосе мышления ", который использует те больше?" Да ... Opps! Но моя Sever боль в шее, когда я не мог вернуться в биозу, чтобы включить его. Зачем?До сих пор не совсем уверен, но я думаю, что это что-то делать со мной по разгону тепловой сопли из моего процессора. Так Anywho, я должен был сбросить биос, так что я мог попасть в BIOS, а затем включите параллельный порт. Все хорошо сейчас, и мое кровяное давление возвращается в здоровом диапазоне. Мораль истории ... Убедитесь, что ваш параллельный порт включен в BIOS, прежде чем желание бросить тяжелые предметы на вашем компьютере в наборах ...

  • ЗДЕСЬ в иллюстрированных U ВГА PUT ЖЕЛТЫЙ Crytal НЕМНОГО, НО U HAVNT EXPLINED Dude

  • Ват переключатель сброса на самом деле делает?
    может у ясно объяснить соединения для Интернет - провайдера?

  • У меня нет порта LPT1 (DB-25) или DB9 порт на моем новом компьютере. Все у меня есть USB. Я открыл башню и я вижу , 1 порт не использовался , и это с надписью "USB". Диаграмма штифт 9 штырьков следующим образом :
    [:::: ']
    Является ли соединение USB 9 контактный то же самое , как ком порт? я должен подключить разъем DB25 к разъему USB 9 - контактный разъем?

  • Я не мог получить WinAVR / avr_dude признать мою ATmega168 для жизни меня с параллельным портом AVR программатора. Я купил AVRISPmkii от Digikey и используется AVR Studio 4 для программирования мой чип после компиляции из Блокнота программиста, и теперь чип запрограммирован и моя схема работает.

  • Я нашел решение.Пожалуйста , смотрите http://forum.sparkfun.com/viewtopic.php?t=12789 . Отметим , что решение только для ATmega8.
    Вот решение: Просто поместите шапку 1nF от OSC1 на землю, и 370 Ом резистор от OSC1 к Vcc.

  • Я до сих пор не понять , почему моя мигания программа не запущена , как только я подключить переключатель в цепи. Без него мой ATMEGA8 запускает программу мигания штраф. Моя схема точно так , как показано в этом руководстве. Я до сих пор соединение от сброса ПИН к контакту SPI программиста 5; то есть, все соединения для моего программиста по - прежнему на месте.
    Любой наконечник? Не можете перейти к следующему учебник без необходимости установки переключателя и моя мигания программа работает :-) Я очень хочу , чтобы это понять.
    Благодарю.

  • Мне очень нравится ваш сайт и эти большие обучающие программы . Одна проблема , я столкнулся , хотя , который я считаю , нуждается в уточнении заключается в следующем:
    "Вы можете либо провод СБРОС контактный непосредственно на 5V"
    я сделал это я телеграфировал штифт сброса непосредственно на 5V без использования переключателя и получил ошибки из AVRDUDE о том , что чип Wasnt отвечать на запросы. поэтому в конечном итоге я просто поставить резистор между ними GND и штифтом сброса и everythign работал.
    PS спасибо за доставку мой чип так быстро

  • Здравствуй,
    Я получил ATMEGA8 запрограммирован с помощью данной лаборатории, но индикатор не мигает. . Убедился 5V получается, хотя я получаю около 5.07V ввода
    я получаю 'программу сделать' ниже я.
    AVRDUDE -p ATMEGA8 -P lpt1 -c STK200 -U вспышки: w: blink_1MHz.hex
    AVRDUDE: AVR устройство инициализирован и готов принять инструкции для
    чтения | ## ... # | 100% 0,00 с
    AVRDUDE: подпись устройства = 0x1e9307
    Примечание: было указано флэш - память, цикл стирания будет perfor
    . Чтобы отключить эту функцию, указать опцию -D
    AVRDUDE: удаление чипа
    чтение входного файла "blink_1MHz.hex"
    входной файл blink_1MHz .hex определяется автоматически , как Intel Hex
    AVRDUDE: написание флэш (300 байт):
    Запись | ## ... ## | 100% 0.11s
    AVRDUDE: 300 байт флэш - письменные
    проверки флэш - памяти от blink_1MHz.hex:
    флэш - загрузки данных данные из входного файла blink_1MHz.hex:
    входной файл blink_1MHz.hex автоматически обнаружен как Intel Hex
    входного файла blink_1MHz.hex содержит 300 байт для
    чтения на чипе флэш - данных:
    Чтение | ## ... ### | 100% 0.09s
    AVRDUDE: проверка ...
    300 байт флэш подтвержденному
    Пробки OK

    • У меня точно такая же проблема, используя ATmega328P. AVRDUDE является программирование микро ОК, светодиод просто не будет мигать. В теории, это не должно иметь ничего общего с переключателем на выводе 1 , если он подключен правильно.
      Я собираюсь попробовать положить резистор и шапку на OSC1 как показано в растворе вы предусмотрели для ATMega8. Мне просто нужно , чтобы выяснить постоянную времени RC , необходимое для ATmega328P, поскольку она не может быть одинаковым. Я не уверен , что еще может быть проблема?

      • ОК. Так.Через несколько часов, пару Монстр Энергетические напитки, и многие ибупрофен позже, мой Лампочка мигает. Это не было ничего общего с выключателем и резистор крышкой комбо на OSC1 не помогло.
        Оказалось, проблема была плавкие биты. Они были перепутались. Я сбросить их обратно к значениям по умолчанию после прочтения некоторых взрыватель бит учебники. По- видимому, плавкие биты , что определяет определенные параметры внутри микро.
        Помните, что Google является вашим другом!
        Имейте в виду , если вы шарить вокруг на некоторое время , как я был, то весьма вероятно , что плавкие биты в вашем микро может получить изменения .
        удачи люди!

        • Кстати, спасибо за отличный учебник. Я сделал это, используя все части SparkFun я получил по почте. Отличный сайт!
          Кроме того, я забыл упомянуть, что я должен был построить новый шестнадцатеричный файл из C исходного кода, включенного в blink_1MHz ZipFile. По какой-то причине включен шестнадцатеричный файл не будет работать, но когда я восстановил его с помощью прилагаемого .c файл ... мигают мигают мигают мигают мигают мигают!

    • У меня была линия сброса установки к контакту 1 после того, как это было удалить его моргнул!

    • Может быть проблема , что файл .hex генерируется как 'Intel Hex'?
      Из вывода AVRDUDE в:
      входной файл blink_1MHz.hex определяется автоматически , как Intel Hex

      • Через пару часов ... Это получилось , если я вынул ключ S1, это работает! Почему последнее изображение (из этого учебника) , который показывает мигающий свет и ISP крюк вверх не имеет переключатель S1 показан на макете? Почему это было вывезено? Я использую B3F-1005 переключатель компании Omron, и свет не мигает , когда я подключен переключатель , как показано на схеме данного пособия. Я телеграфировать его следующим образом :. Контакты 1-2 к GND и булавок 3-4 подключить к контакту моего ATMEGA8 в 1. Тогда резистор 10K Ом от контакта 4 коммутатора к 5V питания
        Любые советы ????

        • Вы можете иметь переключатель в неправильном направлении, или это было короткое замыкание. В любом случае это приведет к микро постоянно сбросить себя. Это звучит прямо ко мне.