The receiver modem's code:
SerialPort sp = new SerialPort("COM1");
private void Form1_Load(object sender, EventArgs e)
{
sp.NewLine = "\r\n";
sp.Parity = Parity.None;
sp.DataBits = 8;
sp.StopBits = StopBits.One;
sp.DtrEnable = true;
sp.WriteBufferSize = 1024;
sp.Open();
sp.WriteLine("ATE0");
sp.BaseStream.Flush();
sp.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(sp_DataReceived);
}
void sp_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
string str;
str = sp.ReadLine();
if (str == "RING")
{
sp.WriteLine("ATA");
sp.BaseStream.Flush();
}
System.IO.File.AppendAllText("c:\\log_receiver.txt", str + "\r\n");
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
sp.Close();
}
and its log file(log_receiver.txt):
OK
RING
CONNECT 9600
And sender's code:
SerialPort sp = new SerialPort("COM8");
private void Form1_Load(object sender, EventArgs e)
{
sp.NewLine = "\r\n";
sp.Parity = Parity.None;
sp.DataBits = 8;
sp.StopBits = StopBits.One;
sp.DtrEnable = true;
sp.WriteBufferSize = 1024;
sp.Open();
sp.WriteLine("ATE0");
sp.WriteLine("ATDT6632");
sp.BaseStream.Flush();
sp.WriteLine("My string to be sent");
sp.BaseStream.Flush();
sp.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(sp_DataReceived);
}
void sp_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
string str;
str = sp.ReadLine();
File.AppendAllText("C:\\log_sender.txt", str + "\r\n");
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
sp.Close();
}
and the sender's log file(log_sender.txt);
ATE0
OK
NO CARRIER
I have read all the commands of the Hayes AT commands, but there were no tutorial about how to use the commands(I know that using commands may differ in some modems). I wanted to know that where's the problem of my code and does anyone have an idea about using AT commands in order to send and receive data between modems?
klibzaPosted Feb 28, 2010, 4:29 AM
any progress here? I have the same need. Can u help with posting code and sending it 2m.
thx
Sam HobbsPosted Feb 12, 2010, 1:36 PM