Ищу готовую реализацию такого устройства:
Микроконтроллер, например atmega16 подключен к компьютеру по USB. На одну из ног микроконтроллера повешен светодиод. На компьютере программка с двумя кнопками. Одна кнопка зажигает светодиод, другая гасит.
Интересуют исходники прошивки для МК и исходник программы для компьютера (delphi или c++)
Может кто-нибуть делал?
Кто ищет да обрящет. http://radiokot.ru/circuit/digital/pcmod/16/ Думаю, что из ATtiny45 в 16 мегу перетащить получится.
А вообще есть например AT90USB162 и др, в которых USB аппаратный.
Inikon писал(а):Ищу готовую реализацию такого устройства:
Микроконтроллер, например atmega16 подключен к компьютеру по USB. На одну из ног микроконтроллера повешен светодиод. На компьютере программка с двумя кнопками. Одна кнопка зажигает светодиод, другая гасит.
http://we.easyelectronics.ru/electro-an ... v-usb.html такое собрал, но оно почему то не работает. Прошивку копировал и компилировал под мегу16 выводы все сохранены по наименования int0 совпал с тем же пином порта.
устройство определяется и видно указанное в прошивке имя, вот только программа не взаимодействует никак, данные не приходят не уходят монитор usb не видит ничего посланного с программы( ночь ковыряю, на разных компах, ничего не выходит(
Попробуйте прошивку из вложения (работу не проверял, просто в коде заменил $regfile = "m8def.dat" на $regfile = "m16def.dat" и перекомпилировал).
USB подключается к PD2 и PD3.
Светодиод к PB0.
А почему обязательно AVR? Посмотрите в сторону PIC18-PIC24-pic32. Большое количество проц с встроенным USB Бесплатный framework много примеров etc
Framework - рабочий. Использовал не один раз. Рекомендую сразу переход на PIC24
Потому что подойдет почти любой AVR, который найти не сложно в отличие от моделей PICов с аппаратным модулем USB (для программной эмуляции usb у них кишка тонка - мощности маловато).
Да и AVRы намного дешевле чем PIC с аппаратным модулем USB.
Inikon писал(а):Ищу готовую реализацию такого устройства:
Микроконтроллер, например atmega16 подключен к компьютеру по USB. На одну из ног микроконтроллера повешен светодиод. На компьютере программка с двумя кнопками. Одна кнопка зажигает светодиод, другая гасит.
Интересуют исходники прошивки для МК и исходник программы для компьютера (delphi или c++)
Может кто-нибуть делал?
на C# интересует?
Установка драйвера
Для системы windows XP особых трудностей это не вызывает, просто указывается папка с драйвером и система сама устанавливает драйвер.
После подключения устройства к USB в windows7 появится сообщение, что драйвер на устройство не установлен. Запускам из папки \libusb-win32-bin-1.2.5.0\libusb-win32-bin-1.2.5.0\bin файл inf-wizard и выбираем устройство.
Тут пример как использовать по USB АЦП и ШИМ кроме просто зажигания портов. Пробовал даже прерывание использовать - но поскольку прерывание задействовано в USB попытки изменения регистра сразу делают устройство недоступным.
Но зажечь огонек- ноль проблем.
Запрограммировав микросхему не забудьте сделать конфиг- от внешнего кварца
Установка .NET, установка драйверов....
Зачем такие сложности?
И что делать если не окажется драйвера под требуемую систему? Ваш проект имеет драйвер для Win7 x64? Если он есть, то имеет ли он цифровую подпись майкрософт?
Выше приводил проект без этих заморочек. На комп ничего ставить не нужно. Просто собрали девайс, прошили его, подключили к компу, и пользуемся без установки дров. И будет работать на любой системе, начиная с Win98.
ALEX_HOOCH писал(а):Пробовал даже прерывание использовать - но поскольку прерывание задействовано в USB попытки изменения регистра сразу делают устройство недоступным.
Видимо вы что-то не так делали, поскольку меня получалось использовать другие прерывания совместно с USB и ничего не глючило.
ALEX_HOOCH писал(а):Пробовал даже прерывание использовать - но поскольку прерывание задействовано в USB попытки изменения регистра сразу делают устройство недоступным.
Видимо вы что-то не так делали, поскольку меня получалось использовать другие прерывания совместно с USB и ничего не глючило.[/quote]
Я пробовал по USB записывать в регистры прерываний необходимые мне значения, а не использовать прерывания - при этом устройство становилось недоступным.
Посмотрел ссылку, тут кто к чему привык ...
На reset резистор не нужен???