using System.IO.Ports;
static SerialPort port;
port = new SerialPort();
private static void OpenPort()
{
port.BaudRate =2400; // еще варианты 4800, 9600, 28800 или 56000
port.DataBits = 7; // еще варианты 8, 9
port.StopBits = StopBits.One; // еще варианты StopBits.Two StopBits.None или StopBits.OnePointFive
port.Parity = Parity.Odd; // еще варианты Parity.Even Parity.Mark Parity.None или Parity.Space
port.ReadTimeout = 500; // самый оптимальный промежуток времени
port.WriteTimeout = 500; // самый оптимальный промежуток времени
port.Encoding = Encoding.GetEncoding("windows-1251");
port.PortName = "COM5";
// незамысловатая конструкция для открытия порта
if (port.IsOpen)
port.Close(); // он мог быть открыт с другими параметрами
try
{
port.Open();
}
catch (Exception e) { }
}
port.WriteLine("AT \r\n"); // значит Внимание! для модема
System.Threading.Thread.Sleep(500);
port.Write("AT+CMGF=1 \r\n"); // устанавливается текстовый режим для отправки сообщений
System.Threading.Thread.Sleep(500);
port.Write("AT+CMGS=\"+375123456789\"" + "\r\n");
System.Threading.Thread.Sleep(500);
port.Write("Hello from modem!" + char.ConvertFromUtf32(26) + "\r\n");
System.Threading.Thread.Sleep(500);
port.Close();
port.DataReceived += SerialPortDataReceived;
}