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

Вопрос по USB framework для at91

История такая. Взял атмеловские исходники 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
[codebox] для длинного кода, [code] - для короткого!!!

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


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

Всем спасибо, уже разобрался. С функцией USB_Write все в порядке, проблема была в моем кривом коде. Моя функция-обёртка для функции USB_Write передавала в последнюю dLength типа unsigned char, поэтому я не мог передать 256 байт и больше. Исправил на unsigned int и все заработало.

 

Тему можно закрывать.

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


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

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

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

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

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

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

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

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

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

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