Перейти к содержанию
    

Хелп ми! Помогите разобраться с USB плиз!

Доброго времени суток! Подскажите, где можно найти простой примерчик работы с USB с прерываниями. Может кто - нибудь поделится своей разработкой для примера? Смотрел USB MassStorage от атмела, но там всё как-то сложно. Пример BasicUSB пробовал. Хочется посмотреть как работать через прерывания.. Заранее огромное спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго времени суток! Подскажите, где можно найти простой примерчик работы с USB с прерываниями. Может кто - нибудь поделится своей разработкой для примера? Смотрел USB MassStorage от атмела, но там всё как-то сложно. Пример BasicUSB пробовал. Хочется посмотреть как работать через прерывания.. Заранее огромное спасибо!

 

Посмотри фри ртос. Там есть примеры работы с юсб, но не уверен, что они намного проще, чем USB MassStorage от атмела.

Кроме того полностью по прерываниям работать не получится, т.к. есть флаги, не генерящие прерывания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дык причем здесь STR? Большинство присутствующих (как я понял) пилит атмеловские камни.....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте заглянуть в Агуров "Интерфейс USB" . Эл вариант тута

http://lord-n.narod.ru/walla.html

сложновато пишет , зато на атмелах примеры

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго времени суток! Подскажите, где можно найти простой примерчик работы с USB с прерываниями. Может кто - нибудь поделится своей разработкой для примера? Смотрел USB MassStorage от атмела, но там всё как-то сложно. Пример BasicUSB пробовал. Хочется посмотреть как работать через прерывания.. Заранее огромное спасибо!

 

Смотрел я этот mass storage. Резюме: нужно либо разбираться в нем, либо с нуля (если есть неплохое понимание, как работает USB). Все остальное - вряд ли будет проще. Код там достаточно прозрачен и прилично откомментирован. Чтобы не выглядело так ужасно - рекомендуется его нормально отформатировать и, возможно, переименовать особо страшные функции.

 

Начинать с fw_task.c, приводить fw_isr в читабельный вид, по ходу залезая в остальные файлы.

 

Еще раз: проще вряд ли что-то будет. 70КБ комментированного текста - это близко к минимуму.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте заглянуть в Агуров "Интерфейс USB" . Эл вариант тута

http://lord-n.narod.ru/walla.html

сложновато пишет , зато на атмелах примеры

 

Атмел, да не тот - там говорится про AT89C5131 - 8-ми битный, x51-based. Здесь же, если я ничего не путаю, речь идет про AT91SAM7.

 

И вообще, книжка странная. Для начинающего она слишком сложна. Для человека с опытом - практически бесполезна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странноватая конечно, но хорошо, что хоть такая появилась по USB. Плохо в ней только одно: в ней рассказывается как написать под DriverStudio c её классами. Но как я понял - лучше писать с ивспользованием DDK. Я вроде с написанием драйвера разобрался, теперь буду мучить AT91SAM7S64.. Хочу весь проект сделать сам, от программы для девайса до программы для PC и драйвер USB. Вот и хочется посмотреть как правильно работать с USB со стороны девайса. Со стороны хоста представление уже имею. Если кто-то ещё хочет разобраться - предлагаю попробовать вместе. Как говориться две головы -лучше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я начинал разбираться с USB четыре года назад. Инфы тогда не было никакой, кроме, собственно, стандарта и пары примеров. До всего приходилось доходить самому. Собственный USB-стэк для связки ATmega+PDIUSBD12 я писал два месяца. Пока писал - разобрался досконально. После этого, написал собственный стэк для MC68HC908JB8 за вечер.

 

После этого, книжка (что первая, что вторая) - для меня не содержит ничего нового. Я, правда, себе их прикупил - как справочник, чтобы в MSDN лишний раз не лазить.

 

С драйверами - все просто. В минимальном варианте, берется пример bulk из ddk, для него генерится свой guid и, возможно, указывается размер буфера побольше. Если драйвер не содержит собственной логики - этого достаточно. Работа из программы - тоже проста: самое сложное - получить имя устройства (но для этого есть стандартный пример), а дальше - CreateFile, ReadFile, WriteFile...

 

C ARM-ами я еще толком не работал. Серьезные разборки у меня намечаются в ближайшем времени, но не с SAM7, а с LPC2148.

 

Если будут вопросы по протоколу/реализации chapter9 на клиенте - попробую ответить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А про какую вторую вы говорите? Первая как я понимаю Агуров "Интерфейс USB"? ,а какая вторая?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А про какую вторую вы говорите? Первая как я понимаю Агуров "Интерфейс USB"? ,а какая вторая?

Вторая видимо того же автора , но "Практика программирования USB". Является логическим продолжением первой и содержит примеры на Си , C Builder, Delphi

 

Атмел, да не тот - там говорится про AT89C5131 - 8-ми битный, x51-based. Здесь же, если я ничего не путаю, речь идет про AT91SAM7.

Все верно , но в ней разобрана теория USB и высокоуровневое программирование под PC.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А где брать исходники mass storage ???

 

Можно зайти на сайт Philips. Там в примерах лежит мышка в исходниках. И у Keil то же пара примеров есть..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...