View Full Version : کار با پورت سریال در visual C++ 2008
amintlk
پنج شنبه 31 فروردین 1391, 23:29 عصر
با سلام .. برای کار با پورت سریال یا همون rs232 چیکار باید کرد؟؟
ASGGSA
جمعه 01 اردیبهشت 1391, 03:06 صبح
سلام.
سوالتون تکراری است. بهتر قبل از پرسیدن جستوجو کنید. توسط دوستان پیوندهای زیر معرفی شده اند.
http://electrosofts.com/serial/
http://www.ontrak.net/c.htm
amintlk
جمعه 01 اردیبهشت 1391, 08:47 صبح
من تاپیک های قبلی رو دیدم ولی تو ی هیچ کدوم کامل توضیح داده نشده و همش ارجاع داده شده به یک سری لینک خارجی که اون ها هم در ویژوال 2008 کار نمی کنه!! نمونش لینک های معرفی شده توسط خودتون ...
ASGGSA
جمعه 01 اردیبهشت 1391, 21:16 عصر
سلام.
برای باز کردن پورت سریال :
HANDLE hSerial;
hSerial = CreateFile((CString)"COM1",GENERIC_READ | GENERIC_WRITE,0,0,
OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
برای بستن پورت :
CloseHandle(hSerial);
برای خواندن از پورت :
char szBuff[size + 1] = {0};
DWORD dwBytesRead = 0;
ReadFile(hSerial,szBuff,size,&dwBytesRead, NULL);
برای نوشتن در پورت :
WriteFile(hSerial,szBuff,size,&dwBytesRead,NULL);
برای اطلاعات بیشتر درباره این توابع ، خطاها و توابع مربوطه دیگر به MSDN مراجعه کنید.
زینب حسینی
پنج شنبه 02 شهریور 1391, 21:45 عصر
سلام
2تا سوال داشتم
1- آیا برای توابع خواندن ونوشتن در پورت سریال توست ویژوال c نیاز به کتابخانه خاصی هست؟
2- من مثلا می خوام DF رو در پورت سریال بنویسم چگونه باید از دستور زیر استفاده کنم؟
WriteFile(hSerial,szBuff,size,&dwBytesRead,NULL);l
با تشکر
#target
پنج شنبه 02 شهریور 1391, 22:07 عصر
همون windows.h رو Include کنید
تابع WriteFile پنج تا پارامتر داره به این صورت
پارامتر اول هندل به فایلی که تابع CreateFile ایجاد کرده . پارامتر دوم اشاره گر به جایی که اطلاعات در آن قرار دارد (اطلاعاتی که میخواهید بنویسید) . پارامتر سوم تعداد بایت هایی که میخواهید بنویسید (معمولا برابر با سایز بافر که در پارامتر قبلی مشخص کردید ) . پارامتر چهارم اشاره گر به ی مقدار DWORD که تابع بعد از اتمام کار تعداد بایتهایی که نوشته قرار میده اونجا . پارامتر پنجم هم NULL گذاشته شده ( این پارامتر در صورتی که بخواهید استفاده کنید اشاره گر به ساختار OVERLAPPED هست . که در این نوشتن نیاز نیست NULL میذاری )
زینب حسینی
جمعه 03 شهریور 1391, 10:26 صبح
من برای گرفتن عکس باید دستور DF را باید به پورت سریال ارسال کنم آخر نفهمیدم دستور DF رو بجای کدوم پارامتر قرار بدم و
من اطلاعات رم می خوام در پورت سریال بنویسم به جای szbuff چی قرار بدم؟
ممنون
#target
شنبه 04 شهریور 1391, 14:29 عصر
اشاره به داده ای که قراره نوشته بشه در szbuf قرار بگیره
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.