Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Atmega AVR микроконтроллер Программирование таймеров/счетчиков микроконтроллеров AVR http://www.cyberforum.ru/avr/thread1189946.html
Если длительность сигналов положительной полярности на входе таймера T1 больше 5 секунд,на выходе PD7 действует высокий логический уровень(лог 1),иначе на выходе PD2 установлен логический 0....
Режим захвата таймера Atmega AVR микроконтроллер
Здравствуйте, уважаемые форумчане! Прошу вашей помощи разобратся с режимом таймера по захвату (от ножки ICP). Суть задачи в том, чтобы подсчитать длительность активного уровня сигнала (логической...
Atmega AVR микроконтроллер Подсчет количества нечетных чисел в ячейках $8200-$82ff
Нужна программа, производящую подсчет количества нечетных чисел в ячейках $8200...$82ff. Если кто может, напишите пожалуйста, а то сам не смогу :( Метода (4 лаба)
Atmega AVR микроконтроллер Ультразвуковой датчик HC-SR04 и МК ATtiny20 Здравствуйте! Необходима ваша помощь в написании программы, хоть советом, хоть куском кода, чем можете тем помогите! Задача такая. Есть ультрозвуковой датчик HC-SR04 и МК ATtiny20. Необходимо... http://www.cyberforum.ru/avr/thread1185911.html
Atmega AVR микроконтроллер Работа с TWI (I2C) в ATmega8 http://www.cyberforum.ru/avr/thread1184581.html
Здравствуйте, нуждаюсь в помощи знающих людей, так как разобраться самому увы не получилось. Имеется ATmega (8MHz) и TWI, который отказывается работать. void twi_init(void) { TWSR= 0x00; TWBR...
Atmega AVR микроконтроллер Книги по Vmlab
Здравствуйте, я хотел бы попросить не подскажите какие-нибудь книги, пособия, самоучители по Vmlab. Чтоб хорошо было написано и описано так сказать для "Чайников".
Atmega AVR микроконтроллер Эффект бегущих огней на AtMega48
Светодиоды включаются по очереди, создавая эффект бегущих огней справа налево. Одновременно производится подсчет переключений светодиодов. После нажатия кнопки SW2 подсчитанное значение...
Atmega AVR микроконтроллер Калькулятор на ATmega8 Доброго дня форумчанам от совсем не профессионала сего дела. Предупреждение: код более, чем наркоманский. Задача проста, как 2х2: калькулятор, ATmega8, спецификации - только сложение и только... http://www.cyberforum.ru/avr/thread1178789.html
Atmega AVR микроконтроллер Как выполнить умножение на Atmega 8535 (ASM)? http://www.cyberforum.ru/avr/thread1178787.html
Можно перемножить числа следующим образом? ldi r17 2 ldi r18 3 mul r18, r17 Куда будет заноситься результат?
Atmega AVR микроконтроллер Реализовать функцию протокола MODBUS для чтения памяти МК Реализовать функцию протокола MODBUS для чтения памяти МК. Номер функции 0х03. Диапазон адресов 0х60 - 0х6F. http://www.cyberforum.ru/avr/thread1177733.html
GradX
21 / 21 / 8
Регистрация: 17.11.2012
Сообщений: 124
0

USB.HID на Atmega328P не распознается

27.05.2014, 19:45. Просмотров 6403. Ответов 35
Метки (Все метки)

Пару недель назад набрел на сайт http://openrobo.ru/control/usb. До этого не имел дела с программированием микроконтроллеров. Эксперименты с Attiny2313 прошли успешно, и я задумал проект посерьезней, но для него памяти под прошивку в Attiny2313 (2КБ) оказалось маловато. Из доступных вариантов подвернулась Atmega328P. Схему подключения этого мк использовал ту же что и для Attiny2313, лишь немного подкорректировав ее с учетом выводов Atmega328P (распиновку выводов этого мк брал из даташита). Оба мк "прошивал" через простенький программатор AVR USBASP (в списке поддерживаемых мк значились и Attiny2313 и Atmega328P) с помощью SinaProg. Поколдовав с настройками файлов из проекта для Attiny2313 смог получить hex-файл для Atmega328P, но при подключении к USB-порту , высветилось сообщение от операционки: "Одно из подключенных USB устройств работает неправильно, и Windows не удается распознать его". Проигнорировав сообщение системы, запустил ПО хоста, но как и следовало ожидать устройство не было найдено. В диспетчере устройств среди контроллеров USB значилось: Unknown Device. Зайдя в свойства обнаружил в значениях VID и PID нули, вместо положенных 16c0 и 05df, поэтому неудивительно, что ПО хоста контроллера тоже не увидело.

Дальнейшее "колдовство" с настройками файлов имеющегося проекта проблему не решило, и я отправился на дальнейшие поиски в инете. Нашел статью на хабре: http://habrahabr.ru/post/210736/. Автор тоже новичек в этом деле, но пользу из статьи я извлек:

1) hex-файл теперь получал путем компилирования проекта в AtmelStudio. А в качестве исходного проекта для firmware испльзовал проект автора, естественно слегка модернезировав код под свои нужды, и в настройках указав используемый мной МК.
2)ПО хоста создал с помощью знакомого мне С#, использовав рекомендуемую автором LibUsbDotNet C# USB Library.

И опять 25... Для Attiny2313 все работает, все распознается. А для Atmega328P снова "Unknown Device". Хотя по сути меняется все навсего название используемого мк, т. к. используемая мной частота для обоих мк 12 МГц, одни и те же порты под внешний генератор частоты. Предпринял следующее:
1) Еще раз проверил правильность печатной платы и правильность подключенных выводов. Замерял напряжение на ножках питания мк и на входах D- и D+ Все правильно, все в норме.
2) еще раз подробно почитал о назначении каждого из фьюзов, поэкспериментировал с установкой фьюзов. Пришел к выводу что проблема не во фьюзах.
3) В прошивке в функцию main добавил строку устанавливающую на порте B0 логическую единицу

C
1
PORTB |= _BV(0);
4) Подключил контроллер к USB и мультиметром померял напряжение на порте B0: 5В. Значит при подключении устройства и подаче на него питания через USB, функция main выполняется, а следовательно проблема лишь в том что мк "не сообщает" операционной системе ПК и ПО хоста свои PID и VID, и поэтому не удается подключиться к устройству через ПО хоста.
5) Замена мк ничего не изменила.

К сожалению знакомых знатоков-электронщиков у меня нет, надеюсь кто-нибудь в состоянии понять суть проблемы.
Прикрепляю архив проекта AtmelStudio. В папке Debug содержится hex-файл, который я "заливаю" в Atmega328P.

Вернуться к обсуждению:
USB.HID на Atmega328P не распознается
0
Вложения
Тип файла: rar firmware.rar (150.5 Кб, 35 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2014, 19:45
Готовые ответы и решения:

HID Class на V-USB (статья USB для AVR. Часть 2.)
Здравствуйте. Решил перейти от библиотеки Libusb на HIDlibrary и как раз нашел эту статью. Но...

USB для AVR. Часть 2. HID Class на V-USB
Прочитал статью "USB для AVR. Часть 2. HID Ctoss на V-USB", решил собрать все по примеру и все...

FreeRTOS+USB-HID
Добрый день форумчане! Пытаюсь подключить freertos и usb-hid с помощью библиотеки от stm. Но при...

hid класс на v-usb
Всем доброе утро. Я собрал схему с этой статьи http://we.iosyitistromyss.ru/itistro-an ......

HID Class на V-USB
Доброго всем времени суток. Хочу освоить USB на avr, и первый же блин комом. Прочитал статьи на...

35
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru