| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Работа с COM портовете http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=763 |
Страница 1 от 2 |
| Автор: | Nikola Kirov [ Пон Юни 13, 2005 2:27 am ] |
| Заглавие: | Работа с COM портовете |
Как под Windows се работи с Com портовете? Намерих една 2 библиотеки за сериина комуникация но нещо много мъгляви описанията към тях. Препоръчаите откъде да захвана. |
|
| Автор: | ¶ [ Пон Юни 13, 2005 5:48 am ] | ||
| Заглавие: | |||
Предполагам, че искаш да използваш C++ за работа с COM портовете. Имаш различни варианти, в зависимост от компилатора, да използваш готови компоненти или да си направиш собствена реализация на комуникацията. Под Win32 серийната комуникация е доста по-сложна, за разлика от Win16. Преди време реших да си направя собствена клас на C++, изхождайки от стар примерен сорс на MicroSoft, който беше писан на C. Докарах я до някъде, предавам данни, но приемната част не е напълно изтествана, от време на време забива треда. Използвам Borland C++ 5.02 компилатор, с отделни тредове за приемане и предаване, с леки модификации, сорса може да се прехвърли лесно и за други компилатори. Иначе последователността на работа е следната: отваряш си манипулатор с CreateFile() към серийния порт, попълваш структура от тип DCB със твоите инициализации за порта, задаваш ги с SetCommState(), викаш SetupComm() за зададеш размера на входния и изходния буфер, попълваш една структира COMMTIMEOUTS с timeout времена, задаваш тези времена с SetCommTimeouts(), след което създаваш нишките на приемане и предаване, както и синхронизиращите елементи, които да ти осигурят синхронизация на нишките с главната нишка ( или друга нишка ). Моят клас не е завършен, ако го намериш за удобно начало в твоята работа и направиш подходящи промени, постни ги, да ги използваме всички. Ц Сорса, от който тръгнах: http://msdn.microsoft.com/library/en-us ... serial.asp
|
|||
| Автор: | Cvetanov [ Пон Юни 13, 2005 9:22 am ] |
| Заглавие: | |
ида готови компоненти за работа с ком. използването им спестява доста усилия, време и нерви. можеш да пробваш mscomm32.ocx(твърди се че е едно от малкото неща на Microsoft, които наистина работат както трябва). TMS Software също имат хубав компонент за ком комуникация. |
|
| Автор: | Predator_MF [ Пон Юни 13, 2005 10:12 am ] |
| Заглавие: | |
Това за кой по-точно език го искаш, мога да те зарина с работещи такива компоненти |
|
| Автор: | ¶ [ Пон Юни 13, 2005 10:21 am ] | |||||||||
| Заглавие: | ||||||||||
Пусни някой линк, ама към безплатни наистина, иначе платени и shareware колкото искаш |
||||||||||
| Автор: | Predator_MF [ Пон Юни 13, 2005 11:29 am ] | |||
| Заглавие: | ||||
За линк няма как да пусна щото съм ги теглил преди време и са от различни сайтове. Пускам ги тук:
|
||||
| Автор: | Predator_MF [ Пон Юни 13, 2005 11:33 am ] | |||
| Заглавие: | ||||
Продължение...
|
||||
| Автор: | bateAz [ Пон Юни 13, 2005 11:36 am ] |
| Заглавие: | |
Бих препоръчал от www.torry.net Assync32, има компоненти за Delphi и C-Builder (Borland). Наистина са безплатни, само ако искаш изходния код, за него ще трябва да платиш. Оценката ми за него е 5.50 |
|
| Автор: | Реконструктор [ Пон Юни 13, 2005 11:58 am ] |
| Заглавие: | |
По принцип чистото API е напълно достатъчно е и лесно за научаване. Ако искаш програмата ти да не забива, когато се приемат данни, трябва да пуснеш отделна нишка за приемането им. Когато данните са приети, нишката трябва да прати съобщение на прозореца, в който се визуализират данните. |
|
| Автор: | Nikola Kirov [ Пон Юни 13, 2005 12:18 pm ] |
| Заглавие: | |
Реконструктор да имаш някакво примерче за работаta с API - to За Visual Studio. Да захапя отнякъде. |
|
| Автор: | Реконструктор [ Пон Юни 13, 2005 12:21 pm ] |
| Заглавие: | |
Довечера ще се постарая да пусна |
|
| Автор: | Cvetanov [ Пон Юни 13, 2005 12:51 pm ] | ||
| Заглавие: | |||
виж дали това ще ти свърши работа като начало В MSDN има още доста неща изписани за серийна комуникация
|
|||
| Автор: | Nikola Kirov [ Пон Юни 13, 2005 2:07 pm ] |
| Заглавие: | |
Това е от старите MSDN. Споменава се само WIN95 в него. Дали ще работи под XP? Доста е дълго да го изучавам и да тествам и да се окаже че не работи под XP А в новия MSDN има описание и примери за сериина комуникация само за VB. Поне аз не успях да намеря за C. |
|
| Автор: | Cvetanov [ Пон Юни 13, 2005 2:24 pm ] |
| Заглавие: | |
http://www.ftdichip.com/Resources/Links.htm http://msdn.microsoft.com/library/defau ... serial.asp виж тези два линка от първия отидох на втория можеш да смъкнеш екзампъла и ако работи значи всичко в статията е ок мисля че това са неща които не са се променили с развитието на windows |
|
| Автор: | Nikola Kirov [ Пон Юни 13, 2005 2:31 pm ] |
| Заглавие: | |
За съжаление и това е от 95 година и се отнася за Windows NT and Windows 95 Даже не виждам как да го отворя това като проект и да го kомпилирам с Visual Studio-to. мамичката им маикрософтска нищо не са документирали в по нови времена за работата с COM-овете. |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|