Если обработчик выходного потока имеется:
Код
static uint8_t USBD_AUDIO_DataOut (USBD_HandleTypeDef *pdev,
uint8_t epnum)
uint8_t epnum)
то с входным потоком непонятки:
Код
/**
* @brief USBD_AUDIO_DataIn
* handle data IN Stage
* @param pdev: device instance
* @param epnum: endpoint index
* @retval status
*/
static uint8_t USBD_AUDIO_DataIn (USBD_HandleTypeDef *pdev,
uint8_t epnum)
{
/* Only OUT data are processed */
return USBD_OK;
}
* @brief USBD_AUDIO_DataIn
* handle data IN Stage
* @param pdev: device instance
* @param epnum: endpoint index
* @retval status
*/
static uint8_t USBD_AUDIO_DataIn (USBD_HandleTypeDef *pdev,
uint8_t epnum)
{
/* Only OUT data are processed */
return USBD_OK;
}
Кто-нибудь сталкивался с проблемой? Может есть другие библиотеки? В крайнем случае перейду на bulk. Есть mass storage конфигурация. Там уж точно в оба направления работает. Однако непрофессионально звук по bulk гонять. Правильно было бы использовать изохронный обмен. Можно конечно написать недостающий код, но на это и на отладку нет времени. К тому же я недостаточно хорошо знаю USB. Так что придется и на изучение тратить время, а еще писать драйвер на Линуксе -- времени и так в обрез. Так что если не будет найдено библиотеки -- сделаю на bulk. Заранее спасибо.
Еще вопрос. Можно ли сделать еще два эндпоинта (туда и обратно) для передачи данных параллельно со звуком?