Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 08.07.2010
Сообщений: 20
1

AT90USB162+LUFA+Передача массива данных хосту = Проблема

10.09.2011, 13:37. Показов 3478. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую всех.
Разрабатываю устройство на основе AT90USB162 с использованием библиотеки LUFA.
Задача – передавать массив данных от девайса хосту размером 256 байт.
Написал программу для мк – тип передачи bulk, размер конечной точки 64 байта.
На стороне хоста использую драйвер LibUSB-Win32 и LibUsbDotNet (С#).
Для тестирования пользуюсь программкой Test_Bulk из пакета библиотеки LibUsbDotNet (перекомпилил, чтобы данные отображались в dec формате для лучшего восприятия и изменил размер буфера приёма на 256 байт).
Проблема вот в чём. Первый запрос от хоста на прием массива данных:


<Изображение удалено>

Первые 64 байта дублируются, в результате не получили последние 64 байта.

Второй и все последующие запросы:


<Изображение удалено>

Вместо первых 64 байт получаем последние 64.
Вот функция передачи массива:
Код
void SendDataToHost(void)
{
Endpoint_SelectEndpoint(OSC_IN_EPNUM);
if(Endpoint_IsINReady())
{
Endpoint_Write_Stream_LE( &table, 256, NULL );
Endpoint_ClearIN();
}
}
Уже вторую неделю ломаю моск, ничего не получается.
Писал свою функцию передачи вместо штатной Endpoint_Write_Stream_LE - работает, но результат тот же.
Такое ощущение, что проблема в самом ядре LUFA или в драйвере LibUsb.
ПО хоста отпадает, снифферил USBlyzer - данные передаются в искажённом виде.
Есть у кого какие мысли?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2011, 13:37
Ответы с готовыми решениями:

at90usb162 + LUFA != CDC
Добрый день. Имею платку с at90usb162 на борту, из которой (из платки) хочу сделать энное...

AT90USB162 + LUFA Помогите разобраться.
В общем есть задача копировать автоматически файлы на компы без мониторов. Не у всех включен авто...

Передача данных. LUFA + libusb
Использую стек LUFA для работы с контроллером atMiko16u4. Тип передачи данных control message. Я...

Проблема с AT90USB162
Решил собрать клон AVRISP MKII на at90usb162. Вытравил плату, спаял. Прочитал что эти мк...

Передача данных: проблема!
Мне с компа на ноут надо передать данные. Я решил использовать для этого битторрент. Создал,...

0
10.09.2011, 13:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2011, 13:37
Помогаю со студенческими работами здесь

Передача данных из формы. Проблема
Точнее даже будет сказать не проблема, а просто я где-то не догоняю... Есть форма: &lt;form ...

СС1101 и "Потоковая" передача данных. Есть проблема
Здравствуйте Столкнулся с трудностью передачи звука. С настройками по умолчанию, после...

Передача массива данных в Excel или создание двумерного динамического массива
Нашел на просторах вот такое: Dim oExcel As Object Dim oBook As Object Dim oSheet As...

[aduc812]Передача массива из области резидентной памяти данных, найти среднее арифметическое массива
Задание: Подготовить программу передачи массива из D данных из области резидентной памяти данных,...

Передача массива данных в код
Здравствуйте уважаемые программисты. Поставил перед собой задачу создать сайт генерации странички...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru