|
Com порт и нестандартные скорости?, возможно ли поставить нест. скорость? |
|
|
|
 |
Ответов
|
Dec 30 2006, 13:59
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(The Fresh @ Dec 30 2006, 10:53)  2 _3m Сделал вроде все правильно поставил прескалер 6 (4096) основной делитель 9. В реестр сделал запись ExtBaudrate ----10472,2147486729(т.е. 0x8000 0C09)-расчитал на 10400. Но скорость не схватывается в программе, пытается забить 10472 а при чтении настроек тутже выдает 9600. Может версия дров нужна определенная или еще какие нюансы?Да кстати данная скорость где нибудь визуально отображается? 0x8000 0c09 действительно не работает. работающий делитель для 10400 - 0x8000 0890 , т.е в реестр записывается "10400,2147485840". Я поэкспериментировал с разными делителсями, при прескалере 6 (4096) основной делитель не должен быть меньше 16 (0x10), если меньше - на выходе получается полный бред (видимо у PLL и делителей вообще крышу сносит). Кроме того, чем меньше величина основного делителя, тем больше джиттер на выходе UART. Думаю, что стоит начинать с минимальных значений прескалера чтобы основной делитель был как можно больше. Все это надо контролировать осциллографом, так как расчет - это математическая абстракция, а чип работает как-то хитро и точных данных о делителях PL2303 нигде нет. После изменения в реестре обязательно нужно передернуть usb шнурок с pl2303 иначе изменения не вступят в силу. Дополнительные скорости нигде не отображаются, но если скорость установилась, она возвращаются в структуре DCB возвращаемой при вызове GetCommState. Значение скорости в ExtBaudrate должно точно совпадать со скоростью, которую устанавливает программа, например если в реестре определена дополнительная скорость 10400, а программа пытается установить 10472, то работать не будет - драйвер pl2303 "не увидит" 10472 и подставит вместо этого ближайшую стандартную - 9600. У меня драйвер PL2303 версии 2.0.2.1 от 25.07.2005, ОС - XP sp2 eng.
Сообщение отредактировал _3m - Dec 30 2006, 14:09
|
|
|
|
|
Dec 30 2006, 19:46
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(The Fresh @ Dec 30 2006, 19:10)  Если не секрет откуда такая базовая частота 383385600Hz, извините за ламерский вопрос, но у меня на плате шнура на осциляторе 12 000 М написано. Там внутрях PLL. Кроме того это частота условная для расчетов. Не факт, что в чипе она имеется в чистом виде, скорее всего код перскалера управляет частотй PLL. Давайте исходник проги которая не работает (тот его кусок, где устанавливается скорость) - только так можно разобраться. У меня смена скорости производится так: Код { DCB* dcb; /* инициализация DCB опущена */ dcb->BaudRate=10400; // задаем скорость SetCommState(port,dcb); Sleep(20); /* проверка */ { DCB* dcb2; dcb2=(DCB*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(DCB)); dcb2->DCBlength=sizeof(DCB); GetCommState(port,dcb2); cout << "\ndcb2.BaudRate=" << dcb2->BaudRate; HeapFree(GetProcessHeap(),0,dcb2); } }
|
|
|
|
|
Dec 30 2006, 23:04
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(The Fresh @ Dec 30 2006, 20:57)  ... Вышлю на мыло откуда пришел файл про настройки pl2303. Заранее спасибо. Программу получил. (у меня есть такая же, но я ей не пользовался). Проверил. Сигнал контролировал осциллографом, так как эбу подключенного к компу под рукой нет. в реестр занес дополнительную скорость 10400, сигнал контролировал осциллографом - скорость ориентировчно 10400. Для чистоты экспримента задал делитель для 10400 как для 2000000 - получил на выходе 2mbps сразу при запуске программы в режиме MP7.0. Итог: скорость устанавливается. Что-то вы неправильно делаете. Значение заносите в нужную ветку реестра? Вот что у меня: [attachment=8933:attachment]
|
|
|
|
Сообщений в этой теме
The Fresh Com порт и нестандартные скорости? Dec 27 2006, 18:41 zltigo Цитата(The Fresh @ Dec 27 2006, 17:41) Я ... Dec 27 2006, 23:54 The Fresh Используя одну комуникационную программу для связи... Dec 28 2006, 12:24 _3m Цитата(The Fresh @ Dec 27 2006, 18:41) Я ... Dec 28 2006, 01:58 The Fresh Смотрел на форуме телесистем, так и не понял что к... Dec 28 2006, 20:05  _3m Цитата(The Fresh @ Dec 28 2006, 20:05) См... Dec 28 2006, 21:56   The Fresh Не могу скачать этот .rtf точнее скачивается вот э... Dec 29 2006, 11:06    _3m Цитата(The Fresh @ Dec 29 2006, 11:06) Не... Dec 29 2006, 17:18     The Fresh Спасибо. Буду экспериментировать. Dec 30 2006, 08:43 The Fresh Установка ENG XP не помогла, мало того пробовал шп... Jan 6 2007, 11:51 _3m Цитата(The Fresh @ Jan 6 2007, 11:51) Уст... Jan 9 2007, 00:51 The Fresh Нет таких микросхем, на USB - COM там микруха конв... Jan 9 2007, 12:57 The Fresh Обращаюсь к общественности. Неужели у нас у одних ... Jan 9 2007, 20:00 lutvun Цитата(The Fresh @ Jan 10 2007, 00:00) Об... May 6 2011, 18:29  backa Цитата(lutvun @ May 6 2011, 21:29) У меня... May 25 2011, 15:57 lutvun Если драйвер устройства FT232 уже установлен, для ... Jun 10 2011, 16:16 rusty По поводу pl2303: Лучше всего чтобы значения делит... Nov 19 2011, 14:23 galjoen Давным-давно тупо отредактировал реестр и всё рабо... Nov 20 2011, 08:22 yura1979 Здравствуйте!
Помогите решить проблемму с вычи... Dec 11 2011, 06:00
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|