Добрый день!
Процессор 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?
Заранее благодарю, Сергей.