PDA

View Full Version : دسترسی به پورت سریال ( RS232 ) در یک Console Application



nightHunter
یک شنبه 04 مرداد 1388, 07:24 صبح
سلام ،

به چه شکل میتونم از توی یک برنامه کنسول به پورت های RS232 دسترسی داشته باشم و اطلاعات رو از پورت بخونم و یا بنویسم ؟

متشکرم .

Saeed_m_Farid
یک شنبه 04 مرداد 1388, 09:30 صبح
سلام ،

به چه شکل میتونم از توی یک برنامه کنسول به پورت های RS232 دسترسی داشته باشم و اطلاعات رو از پورت بخونم و یا بنویسم ؟

متشکرم .
راحت ترین و متداولترین (ازنظر بنده) طریقه ارتباط با پورت سریال استفاده از اکتیوایکس MSComm32.ocx (http://www.yes-tele.com/mscomm.html) هست، که با یه جستجوی ساده می تونید هزاران نمونه کد در موردش پیدا کنید، البته همونطورکخ میدونید همیشه راحت ترین راه، بهترین نیست؛ انواع متنوعی کامپوننت برای این منظور هستند که اکثرشون هم رایگان هستند.
با اینکه کار با MSComm32 راحته و اگه بازم مشکلی داشتید بگید تا نمونه کد بدم.
در مورد سایر کامپوننت ها هم تو همین سایت چندین بار بحث شده، می تونید جستجو کنید

nightHunter
سه شنبه 20 مرداد 1388, 14:43 عصر
سلام

دوست عزیز توی یک برنامه Console چطوری میشه از یک ActiveX استفاده کرد ؟

متشکرم .

Saeed_m_Farid
پنج شنبه 29 مرداد 1388, 01:56 صبح
سلام
دوست عزیز توی یک برنامه Console چطوری میشه از یک ActiveX استفاده کرد ؟
متشکرم .
كنسول يا غيركنسول فرقي نمي كنه، بعد رجيستر كردن اكتيوايكس يه شي از نوع TMSComm درست مي كنيد و CommPort رو مشخص مي كنيد و بعد PortOpen رو true؛ به همين سادگي!


براي فرستادن مقدار روي پورت سریال: به بعد از باز كردن موفقيت آميز پورت، هر وقت خواستيد چيزي رو پورت بفرستيد، MSComm1.Output را مساوي مقدار موردنظر قرار ميديد.



براي دريافت بافرهاي ورودي: TMSComm خودش يه CommEvent داره كه همونجا ميشه مقادير دريافتي رو بافر كرد. در صورتيكه مقدار CommEvent برابر comEvReceive باشه يعني Input چيزي قرار گرفته و شما ميتونيد از اون استفاده كنيد.