|
Из текста непонятно как именно происходит обмен. Можно (точнее, нужно) было не функции, а просто по русски... Да ладно, не обращайте внимание на старого ворчуна.
Была у меня подобная проблемка, когда я гонял СОМ-порт, RTS срабатывал когда хотел он, а не я...
Судя по всему, Вы воспользовались стандартным способом - загоняем строку или массив в буфер, говорим что N байт надо отправить немедленно, и нарываемся на дискретность винды и шустрость процессора.
Свою проблему я вылечил так: сделал буфер равным одному байту (точнее не буфер, а длину посылаемого), а всю управлялку портом сделал на прикладном уровне. Отслеживал посылку КАЖДОГО байта, тогда потери данных исчезли. Пользовал Васик 6, лень было возиться с апи, воспользовался Active-X элементом, но это не принципиально, он работает через те же самые функции.
Успехов!