здравствуйте.
Задача такая: у stm32f405 поднят SPI в SLAVE режиме. Он принимает по 64 бита 32000 раза в секунду, т.е. 2048000 бит/сек.
Это надо передать в комп.
Из доступных интерфейсов есть только 2 уарта и USB. Я воспользовался кубом и сгенерил код для USB CDC. Использую стандартные драйверы.
Передавать данные пытаюсь так -
8 миллисекунд накапливаю данные из spi (2048 байт), затем пытаюсь передать их в комп стандартной функцией. Я пытался подпихнуть стандартной функции передачи и сразу весь буфер и пачками по 64 байта, а потом ждал окончания передачи, но результат всегда один - через секунду передача останавливается.
Я снизил скорость передачи до 128кБит - результат тот же - функция передачи через некоторое время возвращает USB_BUSY.
кто-нибудь сталкивался с такой проблемой? А по CDC вообще можно передать 2МБит/сек? Если нет, то в какую сторону смотреть?
|