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

 
 
> Вопрос по USB framework для at91, не понимаю как запустить передачу блоками по 4кб
Fortune
сообщение Dec 18 2012, 10:05
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 1-02-07
Из: Украина
Пользователь №: 24 940



История такая. Взял атмеловские исходники usb framework+cdc и переделал с целью получения vendor-specific устройства(на контроллере at91sam7s64), работающего в режиме bulk(просто повыкидывал из кода все что касается cdc). С помощью WDK создал драйвер для этого устройства и все более или менее заработало. Но проблема в том, что я хочу увеличить скорость передачи, передавая не 64 байта за раз а 4096 байт.
Код
unsigned char BULK_Write(S_std_class *pBulk,
                        void *pBuffer,
                        unsigned int dLength,
                        Callback_f fCallback,
                        void *pArgument)
{
    return USB_Write(pBulk->pUsb, BULK_EPT_DATA_IN, pBuffer,
                     dLength, fCallback, pArgument);
}

в этом коде фигурирует функция USB_Write(она осталась неизменной из атмеловских примеров ). Эта функция принимает в качестве аргумента dLength, который, по идее равен количеству байт, которые я планирую передать на хост. Сейчас я передаю dLength=64. Могу ли я передать в эту функцию dLength=4096? (пробовал, максимум что у меня получилось - 128). Если нет, то как организовать передачу блоками по 4кб? Нужно ли модифицировать каким-то образом функцию USB_Write или нужно передавать как-то по другому?

Сообщение отредактировал IgorKossak - Dec 18 2012, 15:42
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 08:38
Рейтинг@Mail.ru


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