реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Простенький обмен байтами по USB, контроллер AT90USB162
Halfback
сообщение Jun 6 2009, 10:08
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 28-05-05
Пользователь №: 5 512



Сейчас с ПК обмениваюсь по RS232, пакет состоит из 10 байтов и проверяется на валидность при помощи CRC16.
Проблема в том, что на имеющихся ноутах нет COM-портов или даже PCMCIA. Зато есть USB.
МЦУ у меня AT90USB162 - что есть - то есть crying.gif ОЗУ, конечно, для полноценного USB очень мало но мне 1,1 и 2,0 не нужны.

В общем если у кого есть простенький пример реализации обмена байтами на USB (в части ПК и МЦУ) буду премного благодарен.
И прошу ногами не пинать, что мол лентяй и т.п. т.к. решение нужно поскорее а проблем других и так хватает. Изучать досканально USB пока нет возможности.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 6 2009, 14:19
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Halfback @ Jun 6 2009, 16:08) *
Изучать досканально USB пока нет возможности.
Нет, а придется. laughing.gif Потому, что USB это не просто последовательный интерфейс наподобие RS232, а еще и определенный протокол. Если очень грубо упрощать, то USB представляет из себя буферы данных с обеих сторон канала с разбиением их (данных) на пакеты для передачи по шине, сериализатором-десериализатором на физическом уровне и механизмомспособом управления этими данными и устройствами, подключаемыми к USB. Почитайте хотя бы минимальные сведения про интерфейс USB, а потом спрашивайте о том, что осталось непонятым.
Go to the top of the page
 
+Quote Post
Halfback
сообщение Jun 6 2009, 14:55
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 28-05-05
Пользователь №: 5 512



rezident
Цитата
Если очень грубо упрощать, то USB представляет из себя буферы данных с обеих сторон канала с разбиением их (данных) на пакеты для передачи по шине

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

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

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

Сообщение отредактировал Halfback - Jun 6 2009, 14:56
Go to the top of the page
 
+Quote Post
vvvvv
сообщение Jun 6 2009, 15:18
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-06-04
Пользователь №: 85



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


Нет ну все понятно, но на сайте Atmel есть готовый пример реализации USB RS232 как раз на этой меге. Там байт принимается по USB и пробрасывается на компорт процессора.
И обратно также, байт принимается с компорта процессора и пробрасывается по USB в комп. Все что нужно в этом примере изменить, это не пробрасывать байты в компорт,
что еще более упрощает пример. Проц просто ловит байты и работает с ними. А со стороны компа он видится как RS232.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd July 2025 - 06:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016