Микроконтролери и електроника
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

Прикачени файлове:
rs232.zip [30.58 KiB]
342 пъти

Автор:  Cvetanov [ Пон Юни 13, 2005 9:22 am ]
Заглавие: 

ида готови компоненти за работа с ком. използването им спестява доста усилия, време и нерви. можеш да пробваш mscomm32.ocx(твърди се че е едно от малкото неща на Microsoft, които наистина работат както трябва). TMS Software също имат хубав компонент за ком комуникация.

Автор:  Predator_MF [ Пон Юни 13, 2005 10:12 am ]
Заглавие: 

Това за кой по-точно език го искаш, мога да те зарина с работещи такива компоненти :lol: Иначе и аз съм си писал по метода дето pirev го обяснява, но определено с готови компоненти става по-бързо и лесно.

Автор:  [ Пон Юни 13, 2005 10:21 am ]
Заглавие: 

Predator_MF написа:
Това за кой по-точно език го искаш, мога да те зарина с работещи такива компоненти :lol: Иначе и аз съм си писал по метода дето pirev го обяснява, но определено с готови компоненти става по-бързо и лесно.

Пусни някой линк, ама към безплатни наистина, иначе платени и shareware колкото искаш :)

Автор:  Predator_MF [ Пон Юни 13, 2005 11:29 am ]
Заглавие: 

За линк няма как да пусна щото съм ги теглил преди време и са от различни сайтове. Пускам ги тук:

Прикачени файлове:
Коментар на файл: Тоя компонент е доста добър, работи в background, почти изцяло Event-организиран. Също бих казал много добър
SERIALNG.ZIP [34.17 KiB]
315 пъти
Коментар на файл: Тая библиотека (не компонент) я ползвам аз. Страшно удобна и доста добре описана
SYNASER.ZIP [141.12 KiB]
312 пъти

Автор:  Predator_MF [ Пон Юни 13, 2005 11:33 am ]
Заглавие: 

Продължение...

Прикачени файлове:
Коментар на файл: Това са останалите които съм нямал време да пробвам
Comport_components_and_libs.rar [351.4 KiB]
311 пъти
Коментар на файл: Още един много добре описан и добре работещ
DCCOMMS.ZIP [157.45 KiB]
306 пъти

Автор:  bateAz [ Пон Юни 13, 2005 11:36 am ]
Заглавие: 

Бих препоръчал от www.torry.net Assync32, има компоненти за Delphi и C-Builder (Borland). Наистина са безплатни, само ако искаш изходния код, за него ще трябва да платиш. Оценката ми за него е 5.50 :lol:

Автор:  Реконструктор [ Пон Юни 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 има още доста неща изписани за серийна комуникация

Прикачени файлове:
Коментар на файл: пример и описание за серийна комуникация от MSDN
comm.pdf [173.5 KiB]
399 пъти

Автор:  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/