خواندن پورت سریال در سی شارپ (لطفا راهنمایی بفرمایید)
درود بر شما
دوستان من یه سخت افزار دارم که یه نرم افزار هم داره حالا چون سخت افزار من رابط ارتباطیش rs232 هستش و تمامی مستندات مروبط به command های دستگاه رو دارم بنابراین نیازی به نرم افزار دستگاه ندارم ، من میخام پورتی comی که دستگاه بهش وصله رو بخونم به این صورت که اول یه دستوری رو براش ارسال کنم اجرا بشه و نتیجه دستور رو هم بهم نشون بده منظور من از نتیجه دستور داده های ارسال شده از طرف سخت افزار هستش به عنوان مثال من وقتی دستور نمایش تنظیمات رو که دستورش یه کد هگز هستش برای دستگاه ارسال میکنم باید برام نتیجه رو نشون بده و بگه که این آیتم ها فعال هستن
من برای اینکار از نرم افزار serial port monitor استفاده کردم وبا این نرم افزار هم تونستم پورت رو باز کنم و هم اینکه داده های ارسال شده از طرف سخت افزار رو ببینم
حالا من یه پروژه با سی شارپ ایجاد کردم که عمل رایت کردن و یا همان ارسال دستور رو انجام میده ولی توسط تابع رسیو خروجی حاصل از دستور رو بهم نشون نمیده
آیا readtimeout و writetimeout میتونه رو این موضوع تاثیر داشته باشه ؟
4 پاسخ
سلام خدمت شما دوست بزرگوار
دوست عزیز من مشکلم برطرف شد باید مقادیر dtrو rts رو true میزاشتم ، به هرجهت از شما دوست عزیز بابت راهنماییتون ممنونم
مشکل دیگه ای که دارم من دقیقا یکی دیگه از همین دستگاه دارم که کابل ارتباطیش usb هستش و حتی برد داخل دستگاه هم با اونی دستگاه دیگه م که کابلش rs232 بود یکیه ، من چطوری باید از این دستگاه که یک مدل هستن و فقط رابطشون فرق میکنه هم دیتا رو بخونم و هم اینکه براش دستور ارسال کنم
دوستان ممنون میشم راهنمایی کنید خیلی کارم گیره
من خیلی تو این زمینه تجربه ای ندارم ولی شاید مورد ما به درد شما هم بخوره.
دستگاهی که من استفاده می کردم ، با اینکه USB بود ولی بعد از نصب درایورش پورت COM4 رو استفاده می کرد که عملا یعنی سریال بود و همون برنامه سریال روی اون هم جواب میداد.
سلام خدمت شما دوست بزرگوار
دوست عزیز من مشکلم برطرف شد باید مقادیر dtrو rts رو true میزاشتم ، به هرجهت از شما دوست عزیز بابت راهنماییتون ممنونم
مشکل دیگه ای که دارم من دقیقا یکی دیگه از همین دستگاه دارم که کابل ارتباطیش usb هستش و حتی برد داخل دستگاه هم با اونی دستگاه دیگه م که کابلش rs232 بود یکیه ، من چطوری باید از این دستگاه که یک مدل هستن و فقط رابطشون فرق میکنه هم دیتا رو بخونم و هم اینکه براش دستور ارسال کنم
دوستان ممنون میشم راهنمایی کنید خیلی کارم گیره
با سلام.
اگر از کلاس SerialPort استفاده میکنید ،
این کلاس یه ایونت داره به نام DataReceived که وقتی داده ای ارسال بشه از این طریق براتون ارسال میشه
یه ایونت هم داره با نام ErrorReceived که اگر خطایی رخ بده میتونین خطا رو بگیرید
از این دو ایونت استفاده کردین ؟