PDA

View Full Version : سوال: مشکل در کار با at command برای شارژ سیم کارت اعتباری



bad_lucky
جمعه 05 فروردین 1390, 22:25 عصر
با سلام خدمت دوستان عزیز

یه برنامه نوشتم برای شارژ سیم کارت اعتباری اما وقتی میریزم روی پورت داده ها رو هیچ چیز دریافت نمیکنم میخواستم ببینم این دستوارت ایراد داره ؟


serialPort1.PortName = "COM6";
serialPort1.BaudRate = 9600;
serialPort1.DataBits = 8;
serialPort1.Parity = Parity.None;
serialPort1.StopBits = StopBits.One;
serialPort1.Handshake = Handshake.XOnXOff;
serialPort1.DtrEnable = true;
serialPort1.RtsEnable = true;

try
{

serialPort1.Open();
if (serialPort1.IsOpen == true)
{
serialPort1.WriteLine("At+cscs=" + "GSM");
serialPort1.WriteLine("AT + CMGF = 1");
serialPort1.WriteLine("ATD*141*1235465461321#" + Convert.ToChar(26));
byte[] RXBuffer = new byte[serialPort1.ReadBufferSize];
serialPort1.Read(RXBuffer, 0, serialPort1.ReadBufferSize);
SerialIn=System.Text.Encoding.ASCII.GetString(RXBu ffer);
}
}
catch(Exception e1)
{
string a = e1.Message;
}


ممنون میشم جوابمو بدین

nathan
یک شنبه 07 فروردین 1390, 20:33 عصر
سلام دوست عزيز سال نو مبارك بعد از علامت # يك ; بزار ،
بعد به جاي Writeline از Write استفاده كن ،
اين ها رو هم بردار :
serialPort1.Handshake = Handshake.XOnXOff;
serialPort1.DtrEnable = true;
serialPort1.RtsEnable = true;
دريافت نتيجه رو هم سعي كن از داخل رخداد DataRecieved خود پورت انجام بدي.
درست ميشه

bad_lucky
سه شنبه 09 فروردین 1390, 19:18 عصر
سلام دوست عزيز سال نو مبارك بعد از علامت # يك ; بزار ،
بعد به جاي Writeline از Write استفاده كن ،
اين ها رو هم بردار :
serialPort1.Handshake = Handshake.XOnXOff;
serialPort1.DtrEnable = true;
serialPort1.RtsEnable = true;
دريافت نتيجه رو هم سعي كن از داخل رخداد DataRecieved خود پورت انجام بدي.
درست ميشه

سلام .

مرسی که جواب میدی


من اون کارهايي رو که گفتي کردم اما باز هم چيزي دريافت نکردم .
تو ايونت DataRecieved هم ارور
The I/O operation has been aborted because of either a thread exit or an application request.
ميده چيکار بايد کرد ؟

ميشه يه سمپل معرفي کني ممنون ميشم

e.radpour
پنج شنبه 08 اردیبهشت 1390, 20:54 عصر
سلام برای اعلام کدهای دستوری به مودم باید از کدهای دستوری USSD استفاده کنید!
من خودم از این کد برای ماژول Sim300 استفاده کردم موجودی اعتبار میده ولی شارژ سیم کارت رو امتحان نکردم!
AT+CUSD=1,"*140*1#",15
داخل " کد دستوری " است