Цитата
Мне кажется в многозадачной ОС этот промежуток времени полностью устранить не удастся. А момент окончания процедуры можно отслеживать с помощью глобальной переменной или события.
Поскольку в самом устройстве есть буфер передачи, то оно будет некоторое время посылать
данные из него до тех пор, пока не придет следующая порция или не закончится предыдущая.
Поэтому сами данные не обязательно записывать в порт непрерывно, они все равно будут
передаваться пакетами, а вот выводится постоянно.
Т.к. обмен между программой и устройством происходит через драйвер, то в случае, когда программа записывает данные, они должны добавляться в конец очереди на передачу. При этом переключение между отдельными задачами не влияет на равномерность вывода.
К сожалению, данная логика не работает с FT232R
Цитата(KRS @ Sep 1 2006, 12:00)

у FTDI есть еще одна серьезная проблема с bit bang!!!
дело в том что между выводами бит у них бывает пауза до нескольких ms!! причем это не связано с задержками в USB данные уходят в одном пакете! и даже внутри 2 выводов бывают задержки для теста выводил в USB по 2 байта что бы получать одиночный импульс и задержка на 500 ms!
данные всегда уходили в одном USB пакете! прроверял так вот длина этого импульса часто бывала несколько ms! хотя бауд рейт стоял что бы импульс был 1 микросекунда!
Второй этап делал на максимальном баудрейте вывод как обычный UART так вот там эти два байта выдвигались всегда без задержки!!! Так что у них где то в логике пробелмы!
наблюдал это и в FT232BM и в FT232RL

Спасибо, попробую посмотреть данные баги на своем устройстве.
Интересно, в FT245R есть описанные проблемы или нет, он ведь изначально проектировался
для параллельного вывода данных.
И еще, при сбоях в выдаче сигналы #WR на выходе микросхемы тоже сбоит или выводится с постоянной частотой?