реклама на сайте
подробности

 
 
> STM32F407 контроль завершения отправки пакета USB
EmbedElektrik
сообщение Dec 31 2015, 07:49
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 121
Регистрация: 30-07-08
Из: Тверь, Россия
Пользователь №: 39 321



Для передачи данных с ацп в комп использую пример VCP из StdLib, выбросил все лишнее и работаю напрямую с эндпоинтами. Раз в 8 мс отправляю с контроллера в комп вот так: DCD_EP_Tx (&USB_OTG_dev, CDC_IN_EP, (uint8_t*)APP_Rx_Buffer, 1008); Т.е. скорость примерно 126 кб/сек. Обычно все работает нормально, но если комп начинает свопить то теряются данные. Почитал UM1021, но так и не понял как контролировать опустошение буфера IN эндпоинта?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
esaulenka
сообщение Jan 11 2016, 10:35
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Можно контролировать, конечно.
Только для этого надо читать не описание "библиотеки", а reference manual.

OTG_FS device endpoint-x interrupt register (OTG_FS_DIEPINTx)

Bit 7 TXFE: Transmit FIFO empty
This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the OTG_FS_GAHBCFG register (TXFELVL bit in OTG_FS_GAHBCFG).

Только вот DCD_EP_Tx() - это ниразу не "работаю напрямую". Это "передать первую часть буфера в FIFO, включить прерывание TX Empty, чтоб потом передать остаток".
Там, скорее, надо копаться в кишках этого кода, вроде б, в счётчиках структуры USB_OTG_EP.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
EmbedElektrik
сообщение Jan 11 2016, 10:55
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 121
Регистрация: 30-07-08
Из: Тверь, Россия
Пользователь №: 39 321



Цитата(esaulenka @ Jan 11 2016, 13:35) *
Можно контролировать, конечно.
Только для этого надо читать не описание "библиотеки", а reference manual.


Ок, большое спасибо. Пока решил проблему выставив на компе высокий приоритет потоку приема. Но это, конечно, костыль, хоть и стабильно работающий. Теперь ясно куда копать. С НГ!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 19:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01371 секунд с 7
ELECTRONIX ©2004-2016