|
Хелп ми! Помогите разобраться с USB плиз! |
|
|
|
Sep 26 2006, 10:01
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 4-02-05
Пользователь №: 2 424

|
Доброго времени суток! Подскажите, где можно найти простой примерчик работы с USB с прерываниями. Может кто - нибудь поделится своей разработкой для примера? Смотрел USB MassStorage от атмела, но там всё как-то сложно. Пример BasicUSB пробовал. Хочется посмотреть как работать через прерывания.. Заранее огромное спасибо!
|
|
|
|
|
Sep 26 2006, 14:27
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551

|
Цитата(Artem @ Sep 26 2006, 13:01)  Доброго времени суток! Подскажите, где можно найти простой примерчик работы с USB с прерываниями. Может кто - нибудь поделится своей разработкой для примера? Смотрел USB MassStorage от атмела, но там всё как-то сложно. Пример BasicUSB пробовал. Хочется посмотреть как работать через прерывания.. Заранее огромное спасибо! Посмотри фри ртос. Там есть примеры работы с юсб, но не уверен, что они намного проще, чем USB MassStorage от атмела. Кроме того полностью по прерываниям работать не получится, т.к. есть флаги, не генерящие прерывания.
|
|
|
|
|
Sep 28 2006, 21:33
|
Группа: Новичок
Сообщений: 11
Регистрация: 8-09-06
Пользователь №: 20 213

|
Цитата(Artem @ Sep 26 2006, 14:01)  Доброго времени суток! Подскажите, где можно найти простой примерчик работы с USB с прерываниями. Может кто - нибудь поделится своей разработкой для примера? Смотрел USB MassStorage от атмела, но там всё как-то сложно. Пример BasicUSB пробовал. Хочется посмотреть как работать через прерывания.. Заранее огромное спасибо! Смотрел я этот mass storage. Резюме: нужно либо разбираться в нем, либо с нуля (если есть неплохое понимание, как работает USB). Все остальное - вряд ли будет проще. Код там достаточно прозрачен и прилично откомментирован. Чтобы не выглядело так ужасно - рекомендуется его нормально отформатировать и, возможно, переименовать особо страшные функции. Начинать с fw_task.c, приводить fw_isr в читабельный вид, по ходу залезая в остальные файлы. Еще раз: проще вряд ли что-то будет. 70КБ комментированного текста - это близко к минимуму.
|
|
|
|
|
Sep 28 2006, 21:46
|
Группа: Новичок
Сообщений: 11
Регистрация: 8-09-06
Пользователь №: 20 213

|
Цитата(Костян @ Sep 28 2006, 22:02)  Попробуйте заглянуть в Агуров "Интерфейс USB" . Эл вариант тута http://lord-n.narod.ru/walla.html сложновато пишет , зато на атмелах примеры Атмел, да не тот - там говорится про AT89C5131 - 8-ми битный, x51-based. Здесь же, если я ничего не путаю, речь идет про AT91SAM7. И вообще, книжка странная. Для начинающего она слишком сложна. Для человека с опытом - практически бесполезна.
|
|
|
|
|
Sep 29 2006, 03:13
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 4-02-05
Пользователь №: 2 424

|
Странноватая конечно, но хорошо, что хоть такая появилась по USB. Плохо в ней только одно: в ней рассказывается как написать под DriverStudio c её классами. Но как я понял - лучше писать с ивспользованием DDK. Я вроде с написанием драйвера разобрался, теперь буду мучить AT91SAM7S64.. Хочу весь проект сделать сам, от программы для девайса до программы для PC и драйвер USB. Вот и хочется посмотреть как правильно работать с USB со стороны девайса. Со стороны хоста представление уже имею. Если кто-то ещё хочет разобраться - предлагаю попробовать вместе. Как говориться две головы -лучше.
|
|
|
|
|
Sep 29 2006, 04:13
|
Группа: Новичок
Сообщений: 11
Регистрация: 8-09-06
Пользователь №: 20 213

|
Я начинал разбираться с USB четыре года назад. Инфы тогда не было никакой, кроме, собственно, стандарта и пары примеров. До всего приходилось доходить самому. Собственный USB-стэк для связки ATmega+PDIUSBD12 я писал два месяца. Пока писал - разобрался досконально. После этого, написал собственный стэк для MC68HC908JB8 за вечер.
После этого, книжка (что первая, что вторая) - для меня не содержит ничего нового. Я, правда, себе их прикупил - как справочник, чтобы в MSDN лишний раз не лазить.
С драйверами - все просто. В минимальном варианте, берется пример bulk из ddk, для него генерится свой guid и, возможно, указывается размер буфера побольше. Если драйвер не содержит собственной логики - этого достаточно. Работа из программы - тоже проста: самое сложное - получить имя устройства (но для этого есть стандартный пример), а дальше - CreateFile, ReadFile, WriteFile...
C ARM-ами я еще толком не работал. Серьезные разборки у меня намечаются в ближайшем времени, но не с SAM7, а с LPC2148.
Если будут вопросы по протоколу/реализации chapter9 на клиенте - попробую ответить.
|
|
|
|
|
Sep 29 2006, 04:55
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 4-02-05
Пользователь №: 2 424

|
А про какую вторую вы говорите? Первая как я понимаю Агуров "Интерфейс USB"? ,а какая вторая?
|
|
|
|
|
Sep 29 2006, 05:59
|
Знающий
   
Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059

|
Цитата(Artem @ Sep 29 2006, 02:55)  А про какую вторую вы говорите? Первая как я понимаю Агуров "Интерфейс USB"? ,а какая вторая? Вторая видимо того же автора , но "Практика программирования USB". Является логическим продолжением первой и содержит примеры на Си , C Builder, Delphi Цитата Атмел, да не тот - там говорится про AT89C5131 - 8-ми битный, x51-based. Здесь же, если я ничего не путаю, речь идет про AT91SAM7. Все верно , но в ней разобрана теория USB и высокоуровневое программирование под PC.
|
|
|
|
|
Sep 29 2006, 14:28
|

Участник

Группа: Участник
Сообщений: 49
Регистрация: 3-02-05
Пользователь №: 2 390

|
Цитата(nameless @ Sep 29 2006, 17:06)  А где брать исходники mass storage ??? Можно зайти на сайт Philips. Там в примерах лежит мышка в исходниках. И у Keil то же пара примеров есть..
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|