| Автор |
Съобщение |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
 Custom baudrate за COM-овете...може ли?
Здравейте,
Възможно ли е да работя с моя стойност за бодрейта при комуникация по КОМ? Като задам крива стойност в моя апликейшън и при опит да се вържа с РС-то, гръмва с exeption. Предложения?
|
| Сря Май 07, 2008 9:10 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
 Re: Custom baudrate за COM-овете...може ли?
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Сря Май 07, 2008 9:17 pm |
|
 |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
Win XP
|
| Сря Май 07, 2008 9:38 pm |
|
 |
|
gicho
Ранг: Форумен бог
Регистриран на: Пон Мар 13, 2006 1:59 pm Мнения: 3867 Местоположение: Габрово
|
Много зор работата (под XP). Драйверът на виндоуса (serial.sys) не поддържа нестандартни бодове. За някаква диагностична програма за автомобили имаше пачнат този драйвер и поддържаше нещо повече, но не знам дали е било всякякъв бод рейт или просто са добавили и този, които им трябва на тях, мисля 41.6 kbps.
Можеш просто да ползваш един външен микроконтролер с два uart-а или с USB и UART и той да прави конверсия на скоростите.
Не знам как стои въпросът с УСБ към COM адаптерите - май FTDI чиповете (и техните драйвери) поддържаха повече скорости - някой дето ги е мъчил по-скоро да каже дали беше така.
Можеш да пробваш да прекомпилираш serial.sys-a ( в DDK-то му има сорса) и да добавиш тази функционалност - ако се навиеш да го правиш, разчитай на съпорт и определено ще е полезно на доста хора.
ЕДИТ:
Цитат от сорса на \kernel\serial\ioctl.c: (интересното е в края)
Във файла initunlo.c са описани ( в кода на функцията SerialInitController() ) поддържаните бод рейтове, по-точно там се тестват дали са постижими и се маркират. Дефинирани са в ntddser.h.
Сега не ми се рови повече, но ако мога да помогна и варианта с подмяна на serial.sys те устройва, пиши.
|
| Сря Май 07, 2008 11:07 pm |
|
 |
|
Lupus
Ранг: Форумен бог
Регистриран на: Сря Дек 01, 2004 12:44 am Мнения: 2811 Местоположение: София
|
какво налага ползване на нестандартни скорости?
|
| Сря Май 07, 2008 11:19 pm |
|
 |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
MIDI комуникация (31250 bps). Значи по-конкретно защо: имам два комуникационни канала, единия е MIDI (вход през оптрон), другия си е RS232, на същата скорост. Лошото е, че тези два канала са на един UART (щото нямам друг в наличност). Освен това, искам RS232-то да може да си говори и с РС, а то явно се оказва трудна задача при тези условия...
|
| Сря Май 07, 2008 11:35 pm |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
При виртуалния COM порт на FTDI, можеш да зададеш твоя стойност за baudrate.
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Чет Май 08, 2008 7:17 am |
|
 |
|
ps66
Ранг: Форумен бог
Регистриран на: Пет Яну 19, 2007 9:16 am Мнения: 1063 Местоположение: путинофили: "иди н***й"
|
в 99.9% от случайте COM-а е реализиран с нещо от рода на 8250/16cX50 - което ще рече че могат да се се поддържат 65535 възможни стойности:
1.8432Mhz/16/i bps
или
115200/i bps
където i = 1...65535
така че всичко зависи от кварца (обикновенно нещо като 1.8432 MHz) някои UART ползеат 4/8/16 пъти по-висок клок - но това са нестандартни решения ...
мисля че е ясно че няма как да се поддържат други скорости освен физически възможните (с промени в serail.sys)
що се отняся до USB->RS232 - то и там е въпрос на кварц - но просто производителя може да сложи какъвто си иска (може дори да го направи софтуерен (пази боже  ) - така ще поддържа всички bps) !
_________________ путинофили: "иди н***й"
|
| Чет Май 08, 2008 7:32 am |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
 |  |  |  | ps66 написа: в 99.9% от случайте COM-а е реализиран с нещо от рода на 8250/16cX50 - което ще рече че могат да се се поддържат 65535 възможни стойности: 1.8432Mhz/16/i bps или 115200/i bps където i = 1...65535 така че всичко зависи от кварца (обикновенно нещо като 1.8432 MHz) някои UART ползеат 4/8/16 пъти по-висок клок - но това са нестандартни решения ... мисля че е ясно че няма как да се поддържат други скорости освен физически възможните (с промени в serail.sys)  що се отняся до USB->RS232 - то и там е въпрос на кварц - но просто производителя може да сложи какъвто си иска (може дори да го направи софтуерен (пази боже  ) - така ще поддържа всички bps) ! |  |  |  |  |
Точно това си мислех и аз - май няма как да се направи универсален драйвер, който да работи на всякакъв хардуер...
|
| Чет Май 08, 2008 9:12 am |
|
 |
|
gicho
Ранг: Форумен бог
Регистриран на: Пон Мар 13, 2006 1:59 pm Мнения: 3867 Местоположение: Габрово
|
То ясно, че хардуерно непостижимите няма да станат, въпроса е че има доста възможни бод рейтове, които просто не са позволени в драйвера. Отделно макс допустимата грешка в проверката е 1%, в някои случаи може да си позволиш повече.
А за миди-то - ми то на на звуковите карти си има миди сериен порт, който обикновено е изведен на гейм (джойстик) конектора? Не може ли да се ползва той, сигурно поддържа тая скорост
http://www.allpinouts.org/index.php/PC_MIDI_+_game_port - пинове 12 и 15 са TX и RX съответно.
|
| Чет Май 08, 2008 3:24 pm |
|
 |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
^ Идеята за модване на драйвера най ми допада, но за мен тези занимания минават в графата "висш пилотаж":) Междувременно се сетих как ще си реша проблема без да се налага нито една от предложените гимнастики, но е силно "платка-specific" и няма да представлява интерес за никого...
Благодаря за идеите и наздраве 
|
| Чет Май 08, 2008 4:15 pm |
|
 |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
Свържи се с мен на. Доста съм напред с мидито... Търси по името...
|
| Пет Май 09, 2008 12:26 am |
|
|