user3433943
user3433943

Reputation: 3

Receive SMS through GSM modem in C#

I want to receive message through gsm modem in C#.I have written a code but on console I get continuous stream of ERROR whenever a message is received.Please help me in receiving a message.Here is my code.

     static void Main(string[] args)
        {   
              SerialPort serialport = new SerialPort();
              int mSpeed = 1;
              serialport.PortName = "COM16";
              serialport.BaudRate = 9600;
              serialport.Parity = Parity.None;
              serialport.DataBits = 8;
              serialport.StopBits = StopBits.One;
              serialport.Handshake = Handshake.XOnXOff;
              serialport.DtrEnable = true;
              serialport.RtsEnable = true;
              serialport.NewLine = Environment.NewLine;


            serialport.DataReceived += newSerialDataReceivedEventHandler(DataReceivedHandler);
            serialport.Open();
            Console.ReadKey();

    }
    private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
    {
        SerialPort sp = (SerialPort)sender;
        sp.WriteLine("AT+CMTI" + Environment.NewLine);
        Console.WriteLine(sp.ReadLine());

    }
}

Upvotes: 0

Views: 2358

Answers (1)

John Ephraim Tugado
John Ephraim Tugado

Reputation: 765

After your serialport.Open() use these code.
serialport.Write("AT+CMGF=1\r"); // Instruct the GSM modem to operate in SMS text mode serialport.Write("AT+CNMI=1,2,0,0,0\r"); // Receive notification of incoming messages

try this.. on your DataReceivedHandler.

SerialPort sp = (SerialPort)sender; string input = sp.ReadExisting(); Console.WriteLine(input);

Upvotes: 1

Related Questions