PDA

View Full Version : مشکل کلاس SerialPort سی شارپ با GSM Modem



Mohammad_1984
شنبه 05 شهریور 1390, 11:02 صبح
سلام
من یه برنامه ارسال و دریافت SMS را با سی شارپ نوشتم, که با Gsm Modem های Wavecom کار میکنه همین Gsm هایی که طوسی رنگ هست.

حالا یه Modem دیگه خریدم با مارک MaxLink که سیم کارت هم داخلش میخوره در واقع یک Gsm Modem هست, در Device Manager این Device رو در قسمت Modems به عنوان iFox EDGE 750 میشناسه و وقتی روی مودم Properties میگرم در تب Advanced در قسمت Advanced Port Settings به عنوان COM7 شناسایی شده.

با برنامه Hyper Terminal ویندوز هم وقتی At Command, رایت میکنم, Response میگیرم.

ولی از طریق سی شارپ و کلاس SerialPort بعد از رایت کردن Command, پاسخی از Port برنمیگرده (با استفاده از متد ReadLine یا ReadExicting).

Mohammad_1984
شنبه 05 شهریور 1390, 14:02 عصر
مشکلم به شکل عجیبی حل شد ولی راه حلش مناسب نیست

بعد از اینکه با استفاده از متد WriteLine کامند مورد نظر را Run میکنم باید یکبار Port را ببندم و بلافاصله باز کنم بعدش اگر ReadLine رو صدا بزنم پاسخ پورت را دریافت میکنم.


_serialPort.WriteLine("At+cfun?");
_serialPort.Close();
_serialPort.Open();
string response = _serialPort.ReadLine();

Mohammad_1984
یک شنبه 06 شهریور 1390, 10:27 صبح
این دفعه دیگه واقعا حل شد

آخر هر At Command باید r\ بزارم بعد رایت کنم.