Программа зачата "Кубом", работает с интрфейсами USАRT и USB -устройством (виртуальным СОМ-портом) под FreeRtos ,соответственно работа с интерфейсами вынесена в задачи, основное тело -Superloop, вертится в фоне.. Обмен по системе запрос-ответ, кол-во байт не больше десятка,частота запросов 10Гц и тут интересное, если обмен по USАRT не вызывает никаких нареканий, и спокойно пропускает и 100Гц и пол-кило.. то тот-же обмен , только по VCP -глючит.. Каждый новый запрос вызывает подвисание системы, и на 10Гц при мизерных количиствах принятых-переданых данных фоновая программа практически еле шевелется!.. соответственно, при прикращении подачи запросов программа отмерзает.. Естесственно возникает два вопроса: первый, как заставить USB stаste maschne шевелиться быстрее? (предполагаю, что она какие-то mallос-и делает..) и второй, как противостоять "флуду" , т.е. блокировать прием запросов по vcp таймаутом? СDC LL_suspend\resumuе,start\stop отваливают СОМ-порт - попытки отобрать приоритет у USB приводят нарушению работы..
Сообщение отредактировал dimone - Oct 18 2017, 06:54
|