Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Простенький обмен байтами по USB
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Halfback
Сейчас с ПК обмениваюсь по RS232, пакет состоит из 10 байтов и проверяется на валидность при помощи CRC16.
Проблема в том, что на имеющихся ноутах нет COM-портов или даже PCMCIA. Зато есть USB.
МЦУ у меня AT90USB162 - что есть - то есть crying.gif ОЗУ, конечно, для полноценного USB очень мало но мне 1,1 и 2,0 не нужны.

В общем если у кого есть простенький пример реализации обмена байтами на USB (в части ПК и МЦУ) буду премного благодарен.
И прошу ногами не пинать, что мол лентяй и т.п. т.к. решение нужно поскорее а проблем других и так хватает. Изучать досканально USB пока нет возможности.
rezident
Цитата(Halfback @ Jun 6 2009, 16:08) *
Изучать досканально USB пока нет возможности.
Нет, а придется. laughing.gif Потому, что USB это не просто последовательный интерфейс наподобие RS232, а еще и определенный протокол. Если очень грубо упрощать, то USB представляет из себя буферы данных с обеих сторон канала с разбиением их (данных) на пакеты для передачи по шине, сериализатором-десериализатором на физическом уровне и механизмомспособом управления этими данными и устройствами, подключаемыми к USB. Почитайте хотя бы минимальные сведения про интерфейс USB, а потом спрашивайте о том, что осталось непонятым.
Halfback
rezident
Цитата
Если очень грубо упрощать, то USB представляет из себя буферы данных с обеих сторон канала с разбиением их (данных) на пакеты для передачи по шине

очень грубо говоря UART у меня представлен аналогичным образои. laughing.gif И функции и обработчики прерываний написаны таким образом - что только инклуди в другой проект и всё заработает. Главное правильно сам UART проинициализировать.
Кстати 1 БАЙТ - это тоже можно сказать что ПАКЕТ!!!
Ту же УНИВЕРСАЛЬНОСТЬ и ПРОСТОТУ мне хочется по USB. Мне пока не нужны сложные обработчики пакетов, формирователи очередей приема/передачи. Нужно очень простое решение на данном кристалле:
- функция отправки байта
- обработчик прерывания по приходу байта с выставлением программного флага что байт пришел и можно забирать из буфера!

По-моему проще не придумаешь.

USB досканально обязательно изучу и напишу соотв. драйвер. Но сейчас на это нет свободного времени, много чего другого писАть надо! Я не халявщик и не студент-лодырь, а просто прошу проникнутся в проблему и по-возможности помочь!
vvvvv
Цитата(Halfback @ Jun 6 2009, 18:55) *
досканально обязательно изучу и напишу соотв. драйвер. Но сейчас на это нет свободного времени, много чего другого писАть надо! Я не халявщик и не студент-лодырь, а просто прошу проникнутся в проблему и по-возможности помочь!


Нет ну все понятно, но на сайте Atmel есть готовый пример реализации USB RS232 как раз на этой меге. Там байт принимается по USB и пробрасывается на компорт процессора.
И обратно также, байт принимается с компорта процессора и пробрасывается по USB в комп. Все что нужно в этом примере изменить, это не пробрасывать байты в компорт,
что еще более упрощает пример. Проц просто ловит байты и работает с ними. А со стороны компа он видится как RS232.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.