Амбиций никаких нет, скорее на оборот.
Моя прога так делает (ничего не проверяет):
- по нажатию кнопки "V1+" вначале отсылает команду "start"+0D (чтобы МК начал выплёвывать данные ровного объёма)
- потом включает засечку времени и начинает принимать любые данные из буфера/порта
- по завершению передачи происходит принудительная запись принятых данных в файл "d:\D2xx.txt" (для последующего анализа глазом). Если нет раздела диска D, то будет ошибка, т.к. обработчик не делал. Возможно в этом и проблема.
Определение конца приёма данных происходит по алгоритму ожидания таймаута, если в течении 300 ms ничего не принимается - значит всё. Сделал так, чтобы не усложнять протокол обмена (не передавать всякие там длины пакета и CRC).
Остальное попробую, спасибо.
"загрузить VCP" - помню точно эту штуку не отключал в драйверах. Кстати пробовал D2xx ставить скорость больше 3Мб - выдает ошибку.
На счет буфера, как ты себе представляешь в языка работать "напрямую с буфером"? Мне FT_Read.. и так отдает массив данных, я его и добавляю в другой имеющийся массив - быстрее уже никак не сделать, если только на другом языке (более быстром). Предлагаю тебе написать прогу и дать мне, я зупущу её на своей железке..
Добавлено спустя 14 минут 29 секунд:Dmitry__ писал(а):Также следует учитывать, что максимальная скорость достигается только в том случае, если данные передаются не по одному байту, а строкой. При побайтовой передаче установленная скорость распространяется только на передачу отдельных бит внутри байта. Длительность интервала времени между передачей отдельных байт в этом случае не поддается управлению и значительно снижает скорость передачи всего массива данных.
http://www.efo.ru/doc/Ftdi/Ftdi.pl?497
Тут видимо пилить надо "FT_Read", который пока у меня не запустился, на нем возможно скорость передачи повысится. Хотя как писал ранее, на "FT_ReadByte" мне прилетает всё равно массив, а не 1 байт. Т.ч. всё это пока сомнительно.
Вообще большинство документации/ссылки я видел, большинство из них описывают алгоритм завязанные на последовательной передачи и что касаемо чипа 245 - информации очень мало и не факт, что применимо к ней.
Добавлено спустя 8 минут 28 секунд:Из этой доки:
http://strawberry-linux.com/pub/AN232R- ... gModes.pdf Указано следующее:
FT_SetBaudRate - The rate of data transfer can be controlled by using the FT_SetBaudRate command. The maximum Baud rate is 3MBaud, but to allow time for the data to be setup and held around the WR# strobe the Baud rate should be less than 1MBaud.
Прямо противоречие какое-то, в железке написано одно, а на выходе другое.
Есть ещё шанс попробовать "Bit Bang Mode", может там всё кроется..