-
- Ну не между же каждыми запросами у процесса время отбирается, как
думалось. Ни разу два байта не слеплены. Всегда большой интервал. - POV_(02.12.2020 13:18, )
- Твоя программа на delphi не работает напрямую с чипом компорта. Она
это делает через драйвер ОС. Вызов которого сам по себе -- ОЧЕНЬ
ТЯЖЁЛЫЙ. Поэтому нормальные люди не пишут по байтику, а по
килобайту за раз... Потом сам драйвер тоже твои запросы
отрабатывать может не непосредственно, записывать в очередь и
конечным автоматом обслуживать по мере поступления прерываний,
например. И наконец USB -- там драйвер в чип вообще что-то записать
может только сформировав пакет и fk0(218 знак., 02.12.2020 13:36)
- Не знаю про FT232, но
осуждаюв стандартном CDC-VCP байтики, которые нужно передать в линию, летят в Bulk Endpoint, а команды CDC_SET_LINE_CODING, CDC_SET_CONTROL_LINE_STATE и CDC_SEND_BREAK летят в Control Endpoint, и с синхронизацией там всё грустно. - йцyкeн(02.12.2020 13:54)- По факту там все ок и setbreak-delay-clearbreak на винде отлично
работает. И с последующей передачей имеет минимальную задержку.
Перекючение скоросте Andreas(49 знак., 02.12.2020 17:28)
- Что там нормального, если этот delay слабопредсказуем?... POV_(955 знак., 02.12.2020 19:45, )
- Delay не менее заданного выходит в винде. Длину Break согласно стандарту и все ошибки приема, включая стоп ессно проверяю. Это не хорошо, а позволяет работать любому оборудованию с любым, причем и в поганых условиях. Если соответствие стандарту тебе важнее совместимости - флаг в руки, но на винде сделать это нереально. - Andreas(02.12.2020 21:07)
- "Там" - это в FT232 или в CDC? - йцyкeн(02.12.2020 19:26)
- Скорее всего в очереди запросов к драйверу винды. - Andreas(02.12.2020 21:08)
- Что там нормального, если этот delay слабопредсказуем?... POV_(955 знак., 02.12.2020 19:45, )
- По факту там все ок и setbreak-delay-clearbreak на винде отлично
работает. И с последующей передачей имеет минимальную задержку.
Перекючение скоросте Andreas(49 знак., 02.12.2020 17:28)
- Не знаю про FT232, но
- Твоя программа на delphi не работает напрямую с чипом компорта. Она
это делает через драйвер ОС. Вызов которого сам по себе -- ОЧЕНЬ
ТЯЖЁЛЫЙ. Поэтому нормальные люди не пишут по байтику, а по
килобайту за раз... Потом сам драйвер тоже твои запросы
отрабатывать может не непосредственно, записывать в очередь и
конечным автоматом обслуживать по мере поступления прерываний,
например. И наконец USB -- там драйвер в чип вообще что-то записать
может только сформировав пакет и fk0(218 знак., 02.12.2020 13:36)
- Ну не между же каждыми запросами у процесса время отбирается, как
думалось. Ни разу два байта не слеплены. Всегда большой интервал. - POV_(02.12.2020 13:18, )