|
|
  |
FT232R - как передать большой пакет |
|
|
|
Mar 11 2012, 13:42
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(=AK= @ Mar 11 2012, 17:27)  У любого виртуального СОМ порта есть очень много общего с CDC. Поэтому, чтобы не изобретать велосипед, его логично выпольнить именно как прослойку между специфической железякой и CDC. Совершенно не логично. Эмуляция последовательного порта (весьма урезанная и убогая) - это лишь малая часть CDC. Данные гонять можно, но для построения полноценного виртуального порта она неприменима. Цитата(=AK= @ Mar 11 2012, 17:27)  Мое предложение - передавать блоками не более чем по 8 кБайт. Еще раз: едва ли кто-нибудь, находясь в здравом уме и трезвой памяти, станет работать с COM-портом (пусть и виртуальным) огромными блоками. Так что это предложение выполняется автоматически в 99% случаев.
|
|
|
|
|
Mar 11 2012, 18:56
|
Профессионал
    
Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256

|
Цитата Попробуйте в настройках порта FTDI поменять латенци таймер, по умолчанию стоит 16 поставьте например 2. Не помогает. Цитата Так у нее страница не больше килобайта с копейками. Зато у нее два буфера и писать можно не прерываясь. Кстати, как заюзать библиотеку предложенную -SANYCH- из поста №7?
Сообщение отредактировал Alt.F4 - Mar 11 2012, 19:24
|
|
|
|
|
Mar 11 2012, 19:42
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(aaarrr @ Mar 11 2012, 19:31)  По-моему, и 8 уже изрядный перебор. Чем обусловлена потребность работы такими большими блоками? А зачем вообще без необходимости использовать поблочную работу ? Если, например, есть какой-то файл и его надо передать в устройство - пусть на максимальной скорости и летит, о блочности позаботится сама микросхема (исходя из размера своих буферов). Какая-то все ж странная проблема - я не наблюдал такого ни с простой передаче потока (когда микроконтроллер заведомо успевал обработать), без управления потоком. Когда же не успевал - использовал управление, и опять же все байт в байт. просто "copy <файл> COM<n>" и ни о чем не приходилось задумываться. Цитата(Alt.F4 @ Mar 11 2012, 19:27)  Заюзал я короче нормальный сом-порт стационарного РС. При острой необходимости виртуального порта на ноуте буду пытаться передавать по 8кб. Попробуйте все ж на другом компьютере. Проблем не должно быть, это работает и проверено.
|
|
|
|
|
Mar 11 2012, 20:37
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(aaarrr @ Mar 12 2012, 00:12)  И потратить еще 30 секунд на повторную посылку, ежели вдруг сломалось. И на строительство бомбоубежища - а вдруг метеорит упадет... Цитата Если мы говорим о RS-232, то это отнюдь не просто кусок провода. Ну да, еще трансиверы с одной и с другой стороны. И разъемы, да.
|
|
|
|
|
Mar 11 2012, 20:51
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(rx3apf @ Mar 12 2012, 00:37)  И на строительство бомбоубежища - а вдруг метеорит упадет... Да, протокол - это своего рода "бомбоубежище". И важность его создания нельзя недооценивать. Не удивлюсь, если выяснится, что полетное задание на Фобос-Грунт заливали по вашей методе  Цитата(rx3apf @ Mar 12 2012, 00:37)  Ну да, еще трансиверы с одной и с другой стороны. И разъемы, да. Таки да, трансиверы, заваливающие фронты, различия битовых скоростей и прочие досадные "мелочи". Кусок провода, говорите?
|
|
|
|
|
Mar 11 2012, 21:00
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(aaarrr @ Mar 12 2012, 00:51)  Таки да, трансиверы, заваливающие фронты, различия битовых скоростей и прочие досадные "мелочи". Кусок провода, говорите? Это какой же кривизны надо иметь руки ? Трансиверы валят фронты ? Отлично, они это и должны делать. Однако и под нагрузкой исправный трансивер обязан обеспечивать нормированные параметры фронтов. Если, конечно, кто-то не пытается 120кбодный использовать на 230400 или выше. Битовые скорости различаются ? Так кто ж виноват, что не умеет выставить делитель ? Если передача по RS-232 не получается, надо не с блочностью и квитированием играться, а начать с ДНК. Другое дело, конечно, если речь идет о работе в условиях сильных промышленных помех. Но тема началась вообще с USB, так что о промоборудовании и разговора нет. А в условиях рабочего стола, несколько метров кабеля, на 115200 - это работает как часы. Без всяких потусторонних "досадных мелочей".
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|