1.串口通信基本接线方法:http://download.csdn.net/detail/xuanzuonuo/4870715
(RS232c接口直接用电缆连接(短距离) 中间加两个调制解调器(长距离))
2.RS232C 9 脚接头信号列表:程序设计的指导文件:
pdf: http://download.csdn.net/detail/xuanzuonuo/4870727
ppt:http://pan.baidu.com/share/link?shareid=162969&uk=1678594189
实验项目:http://download.csdn.net/detail/xuanzuonuo/4870733
3.RS232C信号时序
4.MSComm 控件
5.Modem AT 指令集
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace WindowsApplication2
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.TextBox textBox2;
private AxMSCommLib.AxMSComm axMSComm1;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.TextBox textBox3;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在InitializeComponent 调用后添加任何构造函数代码
//
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法- 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
this.axMSComm1 = new AxMSCommLib.AxMSComm();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.button3 = new System.Windows.Forms.Button();
this.textBox3 = new System.Windows.Forms.TextBox();
((System.ComponentModel.ISupportInitialize)(this.axMSComm1)).BeginInit();
this.SuspendLayout();
//
// axMSComm1
//
this.axMSComm1.Enabled = true;
this.axMSComm1.Location = new System.Drawing.Point(8, 312);
this.axMSComm1.Name = "axMSComm1";
this.axMSComm1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axMSComm1.OcxState")));
this.axMSComm1.Size = new System.Drawing.Size(38, 38);
this.axMSComm1.TabIndex = 0;
this.axMSComm1.OnComm += new System.EventHandler(this.axMSComm1_OnComm);
//
// button1
//
this.button1.Location = new System.Drawing.Point(16, 24);
this.button1.Name = "button1";
this.button1.TabIndex = 1;
this.button1.Text = "拨号";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(16, 64);
this.button2.Name = "button2";
this.button2.TabIndex = 1;
this.button2.Text = "发送";
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(144, 64);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(136, 21);
this.textBox1.TabIndex = 3;
this.textBox1.Text = "";
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
//
// textBox2
//
this.textBox2.AcceptsReturn = true;
this.textBox2.AutoSize = false;
this.textBox2.Location = new System.Drawing.Point(144, 128);
this.textBox2.Multiline = true;
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(160, 176);
this.textBox2.TabIndex = 4;
this.textBox2.Text = "";
this.textBox2.TextChanged += new System.EventHandler(this.textBox2_TextChanged);
//
// button3
//
this.button3.Location = new System.Drawing.Point(16, 112);
this.button3.Name = "button3";
this.button3.TabIndex = 5;
this.button3.Text = "清除";
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(144, 24);
this.textBox3.Name = "textBox3";
this.textBox3.TabIndex = 6;
this.textBox3.Text = "8008";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(344, 366);
this.Controls.Add(this.textBox3);
this.Controls.Add(this.button3);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this.axMSComm1);
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
((System.ComponentModel.ISupportInitialize)(this.axMSComm1)).EndInit();
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void Form1_Load(object sender, System.EventArgs e)
{ if(axMSComm1.PortOpen==false)
axMSComm1.PortOpen=true;
axMSComm1.Output="ATS0=1\r\n";
}
private void axMSComm1_OnComm(object sender, System.EventArgs e)
{
string recv;
if(axMSComm1.InBufferCount>0)
{
recv=(string)axMSComm1.Input;
textBox2.Text=textBox2.Text+recv;
}
}
private void button1_Click(object sender, System.EventArgs e)
{
//axMSComm1.Output="ATDT8139\r\n";
axMSComm1.Output="ATDT"+textBox3.Text+"\r\n";
}
private void button2_Click(object sender, System.EventArgs e)
{
axMSComm1.Output=textBox1.Text;
}
private void textBox2_TextChanged(object sender, System.EventArgs e)
{
}
private void button3_Click(object sender, System.EventArgs e)
{
textBox2.Text="";
}
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
}
}
}