V-USB, Atmega328 и 16MHz

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Аватара пользователя
xorkrus
Нашел транзистор. Понюхал.
Сообщения: 151
Зарегистрирован: Сб ноя 19, 2011 20:13:47
Откуда: Тамбов
Контактная информация:

V-USB, Atmega328 и 16MHz

Сообщение xorkrus »

Здравия желаю,
Имеем: Arduino pro mini 16MHz/5V
Схема подключения:
СпойлерИзображение
Преобразователя 3.3В нет. Всё питается от USB. Но при питании от внешнего БП ситуация не меняется.
вот тут взята.
В качестве теста использовались сорцы HID Serial по ссылке выше и оригинальный V-USB.
Задача: подключить ардуину к ПК без лишних заморочек (как то смена кварца - он оооочень мелкий и найти на 12MHz тяжело). Пересылать данные на ПК (желательно через виртуальный ком-порт).
Информация: Из того, что нашел, в оригинальной V-USB для работы на Atmega328p с 16MHz надо:
1. В Makefile сменить тип МК и частоту F_CPU (при этом в usbconfig.h частота в килогерцах будет задана как (F_CPU/1000))
2. В usbconfig.h сменить порты (ну это опционально)
3. Иногда требуется сменить PID (пробовал и с оригинальным 03e8 и с другими из прилагающейся документации.
На HID Serial немного иначе. Так как ардуиновский компилятор плевал на мейкфайлы, то частоту в килогерцах мы указываем прямо в usbconfig.h как 16000
В обоих случаях эксперементировал с прилагающимися экземплами (hid-mouse в v-usb и hello world в HID Serial).
Результат: на данный момент устройство на компьютере есть в обоих вариантах провишки (с разными PIDами) и называется оно USB Device, но не работает:
Для устройства не установлены драйверы. (Код 28)
Нажмите "Переустановить" для переустановки драйверов этого устройства.
При попытке переустановить драйвера, выдает ошибку:
Произошла ошибка при установке устройства
Ошибка установки вследствие того, что драйвер функции не указан для этого устройства
Подопытные системы win2k, XP, win7x64 - везде одно и тоже.
Вот... Вроде все легко и элементарно, а не получается.
Подскажите пожалуйста, как мне заставить ардуину работать с ПК.
С Уважением,
Демократии нет и не будет!
Государство - это я!
Реклама
Аватара пользователя
xorkrus
Нашел транзистор. Понюхал.
Сообщения: 151
Зарегистрирован: Сб ноя 19, 2011 20:13:47
Откуда: Тамбов
Контактная информация:

Re: V-USB, Atmega328 и 16MHz

Сообщение xorkrus »

Коты, я на вас так надеялся :)
Рассказываю:
1. Берем здесь исходник cdc232
2. меняем в мейк-файле частоту на 16мгц и проц ат328п
3. собираем и шьем
4. ставим ардуине либо стабилитроны на 3.6В на линии данных, либо питание всего мк 3.3В
5. радуемся
Проблема была в том, что по спецификациям всяким-разным и по программе - линии данных должны быть согласованы. Отсутствие согласования допустимо при каких-то там других скоростных режимах... вникать в это уже не стал.
Прилагаю кекс, зашив который в ардуино про мини, получаем усб-уарт переходник
cdcmega.hex
(7.45 КБ) 765 скачиваний
Демократии нет и не будет!
Государство - это я!
Реклама
Аватара пользователя
bafomet911
Открыл глаза
Сообщения: 76
Зарегистрирован: Чт янв 31, 2019 18:49:04
Откуда: Воронежская область

Re: V-USB, Atmega328 и 16MHz

Сообщение bafomet911 »

Тоже так было. Учитывая что у вас 16 мегагерц, значит питание пять вольт. УСБ у меня не заработал при пятивольтовых уровнях. Повесил пару стабилитронов через резисторы на линии данных чтоб ограничить уровни с Меги и все завелись именно с этой библиотекой..
Изображение
Ответить

Вернуться в «Интеграция с ПК»