Добрый день!
Процессор AT91SAM7X256. Работаю в IAR 5.4 с примером “usb-device-cdc-serial-project”. В примере запрещены прерывания от таймера и UARTа до момента установки переменной ‘isSerialConnected’. Я добавил таймер Т2 с обработчиком прерываний, таймер запускаю сразу не дожидаясь установки переменной ‘isSerialConnected’. После подключения к USB программа виснет в файле ‘USBD_UDP.c’ в функции ‘USBD_Write(…)’ в строке ‘SET_CSR(bEndpoint, AT91C_UDP_TXPKTRDY);’. Возникает вопросы: 1.Неужели нельзя использовать прерывания при работе с USB? 2.Использую пример из IAR (без добавления таймера T2). При передачи пакета в USB длинной 63 байта и менее все работает, но если послать пакет длинной 64 байта, то в терминалке ничего не отображается. Может проблема в драйвере windows (специального драйвера не ставил)? 3. Какую максимальную скорость удалось получить при передачи в одну сторону? 4. Есть ли другие рабочие примеры работы CDC для SAM7?
Заранее благодарю, Сергей.
Сообщение отредактировал SergeySpbRu - Jun 9 2010, 06:42
|