您的位置:首页 > 编程语言 > C#

C#结合串口通信类实现串口通信源代码

2014-04-08 16:00 633 查看



mycom是串口通信类,在本blog前一篇中有完整代码。

下面是串口通讯测试程序的源代码,将mycom类放在此项目中

可以实现简单的串口通信,希望读者能通过这个程序对串口通信过程有一个初步的了解:


using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

using System.Threading;

namespace BusApp

{

 /// <summary>

 /// Form1 的摘要说明。

 /// </summary>

 public class Form1 : System.Windows.Forms.Form

 {

  PRivate System.Windows.Forms.Label label1;

  private System.Windows.Forms.Label label2;

  private System.Windows.Forms.Button button1;

  private System.Windows.Forms.GroupBox groupBox1;

  private System.Windows.Forms.Label label3;

  private System.Windows.Forms.Label label4;

  private System.Windows.Forms.Label label5;

  private System.Windows.Forms.Label label6;

  private System.Windows.Forms.Button button2;

  private System.Windows.Forms.Button button3;

  private System.Windows.Forms.Button button4;

  private System.Windows.Forms.TextBox textBox8;

  private System.Windows.Forms.Label label7;

  public int iport=1; //1,2,3,4

  public int iRate=9600; //1200,2400,4800,9600

  public byte bSize=8; //8 bits

  public byte bParity=0; // 0-4=no,odd,even,mark,space

  public byte bStopBits=1; // 0,1,2 = 1, 1.5, 2

  public int iTimeout=1000;

  public mycom mycom1=new mycom();

  public byte[] recb;

  private System.Windows.Forms.TextBox msg;

  private System.Windows.Forms.TextBox t_port;

  private System.Windows.Forms.TextBox t_rate;

  private System.Windows.Forms.TextBox t_bytesize;

  private System.Windows.Forms.TextBox t_stopbyte;

  private System.Windows.Forms.TextBox t_parity;

  private System.Windows.Forms.TextBox t_send;

  private System.Windows.Forms.Button button5; //readTimeOut

  /// <summary>

  /// 必需的设计器变量。

  /// </summary>

  private System.ComponentModel.Container components = null;

  public Form1()

  {

   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()

  {

   this.msg = new System.Windows.Forms.TextBox();

   this.label1 = new System.Windows.Forms.Label();

   this.label2 = new System.Windows.Forms.Label();

   this.t_send = new System.Windows.Forms.TextBox();

   this.button1 = new System.Windows.Forms.Button();

   this.groupBox1 = new System.Windows.Forms.GroupBox();

   this.button2 = new System.Windows.Forms.Button();

   this.t_port = new System.Windows.Forms.TextBox();

   this.label3 = new System.Windows.Forms.Label();

   this.t_rate = new System.Windows.Forms.TextBox();

   this.label4 = new System.Windows.Forms.Label();

   this.t_bytesize = new System.Windows.Forms.TextBox();

   this.label5 = new System.Windows.Forms.Label();

   this.t_stopbyte = new System.Windows.Forms.TextBox();

   this.label6 = new System.Windows.Forms.Label();

   this.t_parity = new System.Windows.Forms.TextBox();

   this.button3 = new System.Windows.Forms.Button();

   this.button4 = new System.Windows.Forms.Button();

   this.textBox8 = new System.Windows.Forms.TextBox();

   this.label7 = new System.Windows.Forms.Label();

   this.button5 = new System.Windows.Forms.Button();

   this.groupBox1.SuspendLayout();

   this.SuspendLayout();

   //

   // msg

   //

   this.msg.ForeColor = System.Drawing.Color.Green;

   this.msg.Location = new System.Drawing.Point(0, 0);

   this.msg.Multiline = true;

   this.msg.Name = "msg";

   this.msg.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;

   this.msg.Size = new System.Drawing.Size(512, 264);

   this.msg.TabIndex = 0;

   this.msg.Text = "";

   //

   // label1

   //

   this.label1.Location = new System.Drawing.Point(16, 24);

   this.label1.Name = "label1";

   this.label1.Size = new System.Drawing.Size(56, 16);

   this.label1.TabIndex = 1;

   this.label1.Text = "串口号:";

   //

   // label2

   //

   this.label2.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(192)), ((System.Byte)(64)), ((System.Byte)(0)));

   this.label2.Location = new System.Drawing.Point(8, 280);

   this.label2.Name = "label2";

   this.label2.Size = new System.Drawing.Size(80, 16);

   this.label2.TabIndex = 1;

   this.label2.Text = "设置数据包:";

   //

   // t_send

   //

   this.t_send.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

   this.t_send.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(255)), ((System.Byte)(128)), ((System.Byte)(0)));

   this.t_send.Location = new System.Drawing.Point(80, 272);

   this.t_send.Name = "t_send";

   this.t_send.Size = new System.Drawing.Size(344, 21);

   this.t_send.TabIndex = 2;

   this.t_send.Text = "";

   //

   // button1

   //

   this.button1.Location = new System.Drawing.Point(432, 272);

   this.button1.Name = "button1";

   this.button1.Size = new System.Drawing.Size(40, 23);

   this.button1.TabIndex = 3;

   this.button1.Text = "发送";

   this.button1.Click += new System.EventHandler(this.button1_Click);

   //

   // groupBox1

   //

   this.groupBox1.Controls.Add(this.button2);

   this.groupBox1.Controls.Add(this.t_port);

   this.groupBox1.Controls.Add(this.label1);

   this.groupBox1.Controls.Add(this.label3);

   this.groupBox1.Controls.Add(this.t_rate);

   this.groupBox1.Controls.Add(this.label4);

   this.groupBox1.Controls.Add(this.t_bytesize);

   this.groupBox1.Controls.Add(this.label5);

   this.groupBox1.Controls.Add(this.t_stopbyte);

   this.groupBox1.Controls.Add(this.label6);

   this.groupBox1.Controls.Add(this.t_parity);

   this.groupBox1.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(192)), ((System.Byte)(64)), ((System.Byte)(0)));

   this.groupBox1.Location = new System.Drawing.Point(8, 304);

   this.groupBox1.Name = "groupBox1";

   this.groupBox1.Size = new System.Drawing.Size(176, 216);

   this.groupBox1.TabIndex = 4;

   this.groupBox1.TabStop = false;

   this.groupBox1.Text = "参数设置";

   //

   // button2

   //

   this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Popup;

   this.button2.Location = new System.Drawing.Point(80, 184);

   this.button2.Name = "button2";

   this.button2.TabIndex = 3;

   this.button2.Text = "应用设置";

   this.button2.Click += new System.EventHandler(this.button2_Click);

   //

   // t_port

   //

   this.t_port.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

   this.t_port.Location = new System.Drawing.Point(80, 16);

   this.t_port.Name = "t_port";

   this.t_port.Size = new System.Drawing.Size(80, 21);

   this.t_port.TabIndex = 2;

   this.t_port.Text = "1";

   //

   // label3

   //

   this.label3.Location = new System.Drawing.Point(16, 58);

   this.label3.Name = "label3";

   this.label3.Size = new System.Drawing.Size(56, 16);

   this.label3.TabIndex = 1;

   this.label3.Text = "波特率:";

   //

   // t_rate

   //

   this.t_rate.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

   this.t_rate.Location = new System.Drawing.Point(80, 50);

   this.t_rate.Name = "t_rate";

   this.t_rate.Size = new System.Drawing.Size(80, 21);

   this.t_rate.TabIndex = 2;

   this.t_rate.Text = "9600";

   //

   // label4

   //

   this.label4.Location = new System.Drawing.Point(16, 92);

   this.label4.Name = "label4";

   this.label4.Size = new System.Drawing.Size(56, 16);

   this.label4.TabIndex = 1;

   this.label4.Text = "数据位:";

   //

   // t_bytesize

   //

   this.t_bytesize.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

   this.t_bytesize.Location = new System.Drawing.Point(80, 84);

   this.t_bytesize.Name = "t_bytesize";

   this.t_bytesize.Size = new System.Drawing.Size(80, 21);

   this.t_bytesize.TabIndex = 2;

   this.t_bytesize.Text = "8";

   //

   // label5

   //

   this.label5.Location = new System.Drawing.Point(16, 126);

   this.label5.Name = "label5";

   this.label5.Size = new System.Drawing.Size(56, 16);

   this.label5.TabIndex = 1;

   this.label5.Text = "停止位:";

   //

   // t_stopbyte

   //

   this.t_stopbyte.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

   this.t_stopbyte.Location = new System.Drawing.Point(80, 118);

   this.t_stopbyte.Name = "t_stopbyte";

   this.t_stopbyte.Size = new System.Drawing.Size(80, 21);

   this.t_stopbyte.TabIndex = 2;

   this.t_stopbyte.Text = "1";

   //

   // label6

   // <
121ae
br />
   this.label6.Location = new System.Drawing.Point(16, 160);

   this.label6.Name = "label6";

   this.label6.Size = new System.Drawing.Size(56, 16);

   this.label6.TabIndex = 1;

   this.label6.Text = "校验位:";

   //

   // t_parity

   //

   this.t_parity.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

   this.t_parity.Enabled = false;

   this.t_parity.Location = new System.Drawing.Point(80, 152);

   this.t_parity.Name = "t_parity";

   this.t_parity.Size = new System.Drawing.Size(80, 21);

   this.t_parity.TabIndex = 2;

   this.t_parity.Text = "0";

   //

   // button3

   //

   this.button3.Location = new System.Drawing.Point(472, 272);

   this.button3.Name = "button3";

   this.button3.Size = new System.Drawing.Size(40, 23);

   this.button3.TabIndex = 3;

   this.button3.Text = "清空";

   this.button3.Click += new System.EventHandler(this.button3_Click);

   //

   // button4

   //

   this.button4.FlatStyle = System.Windows.Forms.FlatStyle.Popup;

   this.button4.Location = new System.Drawing.Point(432, 312);

   this.button4.Name = "button4";

   this.button4.Size = new System.Drawing.Size(72, 23);

   this.button4.TabIndex = 6;

   this.button4.Text = "初始化";

   //

   // textBox8

   //

   this.textBox8.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

   this.textBox8.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(255)), ((System.Byte)(128)), ((System.Byte)(0)));

   this.textBox8.Location = new System.Drawing.Point(288, 312);

   this.textBox8.Name = "textBox8";

   this.textBox8.Size = new System.Drawing.Size(136, 21);

   this.textBox8.TabIndex = 7;

   this.textBox8.Text = "";

   //

   // label7

   //

   this.label7.Location = new System.Drawing.Point(200, 320);

   this.label7.Name = "label7";

   this.label7.Size = new System.Drawing.Size(100, 16);

   this.label7.TabIndex = 8;

   this.label7.Text = "设置本机地址:";

   //

   // button5

   //

   this.button5.FlatStyle = System.Windows.Forms.FlatStyle.Popup;

   this.button5.Location = new System.Drawing.Point(440, 504);

   this.button5.Name = "button5";

   this.button5.Size = new System.Drawing.Size(64, 23);

   this.button5.TabIndex = 9;

   this.button5.Text = "关闭串口";

   this.button5.Click += new System.EventHandler(this.button5_Click);

   //

   // Form1

   //

   this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);

   this.ClientSize = new System.Drawing.Size(512, 533);

   this.Controls.Add(this.button5);

   this.Controls.Add(this.textBox8);

   this.Controls.Add(this.label7);

   this.Controls.Add(this.button4);

   this.Controls.Add(this.groupBox1);

   this.Controls.Add(this.button1);

   this.Controls.Add(this.t_send);

   this.Controls.Add(this.msg);

   this.Controls.Add(this.label2);

   this.Controls.Add(this.button3);

   this.Name = "Form1";

   this.Text = "串口通讯(小y设计)";

   this.Closing += new System.ComponentModel.CancelEventHandler(this.Form1_Closing);

   this.Load += new System.EventHandler(this.Form1_Load);

   this.groupBox1.ResumeLayout(false);

   this.ResumeLayout(false);

  }

  #endregion

  /// <summary>

  /// 应用程序的主入口点。

  /// </summary>

  [STAThread]

  static void Main()

  {

   application.Run(new Form1());

  }

//程序开启,串口初始化

  private void Form1_Load(object sender, System.EventArgs e)

  {

   mycom1.PortNum=iPort;

   mycom1.BaudRate=iRate;

   mycom1.ByteSize=bSize;

   mycom1.Parity=bParity;

   mycom1.StopBits=bStopBits;

   mycom1.ReadTimeout=iTimeout;

   if(this.OpenCom())

    msg.AppendText("串口初始化成功……\r\n");

   else

    msg.AppendText("串口初始化失败!\r\n");

  }

//显示包信息

  public string dis_package(byte[] reb)

  {

   string temp="";

   foreach(byte b in reb)

    temp+=b.ToString("X2")+" ";

   return temp;

  }

//开串口

  public bool OpenCom()

  {

   try

   {

     if (mycom1.Opened)

     {

      mycom1.Close();

      mycom1.Open(); //打开串口

     }

     else

     {

      mycom1.Open();//打开串口

     }

     return true;

   }

   catch(Exception e)

   {

     MessageBox.Show("错误:" + e.Message);

     return false;

   }

  }

//发送按钮

  private void button1_Click(object sender, System.EventArgs e)

  {

   if(t_send.Text=="")

   {MessageBox.Show("发送数据为空!");return;}

   byte[] temp1=mysendb();

   int sendnumb=0;

   try

   {

    sendnumb=mycom1.Write(temp1);

     msg.AppendText("\r\n发送数据("+sendnumb+"):"+dis_package(temp1));

    recb=mycom1.Read(50);

    //if(recb.Length!=0)

     msg.AppendText("\r\n接收到数据包:"+dis_package(recb));

   }

   catch

   {msg.AppendText("\r\n发送失败!");return;}

  

   //OpenCom();

  }

//去掉发送数组中的空格

  public string delspace(string putin)

  {

   string putout="";

   for(int i=0;i<putin.Length;i++)

   {

    if(putin[i]!=' ')

     putout+=putin[i];

   }

   return putout;

  }

//提取数据包

  public byte[] mysendb()

  {

   string temps=delspace(t_send.Text);

   byte[] tempb=new byte[50];

   int j=0;

   for(int i=0;i<temps.Length;i=i+2,j++)

    tempb[j]=Convert.ToByte(temps.Substring(i,2),16);

   byte[] send=new byte[j];

   Array.Copy(tempb,send,j);

   return send;

  }

//清空按钮

  private void button3_Click(object sender, System.EventArgs e)

  {

   t_send.Text=string.Empty;

   msg.Text=string.Empty;

  }

//参数设置

  private void button2_Click(object sender, System.EventArgs e)

  {

   iPort=Convert.ToInt16(t_port.Text); //1,2,3,4

   iRate=Convert.ToInt16(t_rate.Text); //1200,2400,4800,9600

   bSize=Convert.ToByte(t_bytesize.Text,10); //8 bits

   bParity=Convert.ToByte(t_parity.Text,10); // 0-4=no,odd,even,mark,space

   bStopBits=Convert.ToByte(t_stopbyte.Text,10); // 0,1,2 = 1, 1.5, 2

   //iTimeout=3;

   if(this.OpenCom())

    msg.AppendText("串口初始化成功……\r\n");

   else

    msg.AppendText("串口初始化失败!\r\n");

  }

//程序关闭,结束串口

  private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)

  {

   mycom1.Close();

  }

  private void button5_Click(object sender, System.EventArgs e)

  {

   if(mycom1.Opened)

   {

    mycom1.Close();

    button5.Text="开启串口";

    msg.AppendText("\r\n串口被关闭……");

   }

   else

   {

    mycom1.Open();

    button5.Text="关闭串口";

    msg.AppendText("\r\n串口成功开启……");

   }

  }

 }

}

注意:发送数据包的格式是16进制数据如:02 45 66 FA  中间可以有或者没有空格,但要保证有偶数位

http://klohowi.blog.com
http://duqklorf.blog.com http://nheffyf.blog.com http://ycgqadb.blog.com http://mbmrzah.blog.com http://tpuvdwi.blog.com http://bzkbafag.blog.com http://eymgvzr.blog.com http://vmxcvls.blog.com http://poodyp.blog.com http://airizcuu.blog.com http://uhhlczj.blog.com http://vfklzzmc.blog.com http://bxsmhz.blog.com http://tqrddp.blog.com http://prpoksz.blog.com http://naodvgc.blog.com http://iktomug.blog.com http://ohbqmnl.blog.com http://cjvisj.blog.com http://ndynmdr.blog.com http://ecxhzfmw.blog.com http://zuozljak.blog.com http://fsavoz.blog.com http://piosaduw.blog.com http://nmtzryc.blog.com http://oyugds.blog.com http://hizyvn.blog.com http://cnokmpag.blog.com http://srojrfum.blog.com http://qzcpkc.blog.com http://vxjqpvqi.blog.com http://waqydk.blog.com http://zikihz.blog.com http://gfjpid.blog.com http://vronurdz.blog.com http://xspcosvo.blog.com http://eeqfrhlj.blog.com http://cklicgz.blog.com http://ekolip.blog.com http://ifgezzg.blog.com http://cjjfqzo.blog.com http://vzlynnw.blog.com http://fikvmq.blog.com http://betgyog.blog.com http://uktwwjbk.blog.com http://rfczvz.blog.com http://kgfigwc.blog.com http://aksdxnbc.blog.com http://xpodvdm.blog.com http://bfhmapk.blog.com http://zjxxjrb.blog.com http://qtangqh.blog.com http://kuhqpt.blog.com http://xczojoqa.blog.com http://pmxswv.blog.com http://retcpfbv.blog.com http://wmtckfws.blog.com http://lrnxfzjq.blog.com http://tojxukq.blog.com http://hxhhgxmx.blog.com http://crklmkcn.blog.com http://gkgxiean.blog.com http://bkmhade.blog.com http://pqrkmgvs.blog.com http://gatwue.blog.com http://rnuzeb.blog.com http://nmdmisph.blog.com http://bsgpnuu.blog.com http://rniwggpz.blog.com http://awflgven.blog.com http://dckirouk.blog.com http://oiqgeam.blog.com http://cnvrqv.blog.com http://bpzgzp.blog.com http://sxjuibom.blog.com http://vzhctgm.blog.com http://tahdir.blog.com http://uwdebprh.blog.com http://boppnms.blog.com http://gcwevs.blog.com http://fyuncuo.blog.com http://htwyyuc.blog.com http://vkpmpzk.blog.com http://vexnti.blog.com http://pztdlsjk.blog.com http://atywxo.blog.com http://ypundofs.blog.com http://wdlyichi.blog.com http://bzmhfz.blog.com http://anrgyyrm.blog.com http://bwtnbbid.blog.com http://uxgkabvp.blog.com http://bfpudwi.blog.com http://jxtqimzn.blog.com http://vounscd.blog.com http://bocrkxlg.blog.com http://rjyutj.blog.com http://cqodbd.blog.com http://ywhrbi.blog.com http://itgzrxav.blog.com http://aevfku.blog.com http://spuwhja.blog.com http://qjfqublo.blog.com http://klgfavyp.blog.com http://nemuhwk.blog.com http://ycpbac.blog.com http://evmwizf.blog.com http://uuuzjdt.blog.com http://uyfonf.blog.com http://amdycbx.blog.com http://qcylutyd.blog.com http://zwagnmsd.blog.com http://rdkufu.blog.com http://xtxbpihm.blog.com http://qmltvg.blog.com http://ryfyqplu.blog.com http://vukqgrk.blog.com http://kesyhbk.blog.com http://oenfnz.blog.com http://basoexn.blog.com http://lbsldt.blog.com http://hwbwpq.blog.com http://teqjeo.blog.com http://gyltuvv.blog.com http://luehwzo.blog.com http://gtfsdgbu.blog.com http://quycrhd.blog.com http://uxfvoaao.blog.com http://cyrxrhb.blog.com http://ptygbrx.blog.com http://pdsloq.blog.com http://wyhdnz.blog.com http://poeyxo.blog.com http://zqqhkj.blog.com http://vrrfdaw.blog.com http://fkwkwcrh.blog.com http://klbqrnrm.blog.com http://gdknxzk.blog.com http://nsseghni.blog.com http://ckcfnyjf.blog.com http://xgvubvv.blog.com http://trpmir.blog.com http://swysqsh.blog.com http://zutgntom.blog.com http://whvcds.blog.com http://izlhit.blog.com http://cfwnvyt.blog.com http://svqanp.blog.com http://wvilxgy.blog.com http://vsiqquk.blog.com http://nruvqs.blog.com http://qixrcmns.blog.com http://opktkk.blog.com http://aczyyo.blog.com http://ztafeo.blog.com http://ypmcifs.blog.com http://gvwodfa.blog.com http://pumcovm.blog.com http://kwrnxb.blog.com http://crppvxy.blog.com http://inmgqh.blog.com http://somvrpo.blog.com http://emqbkdxe.blog.com http://pcjzmucp.blog.com http://lsqscc.blog.com http://qhilutt.blog.com http://nipnnu.blog.com http://aglvhb.blog.com http://wfdbjx.blog.com http://jahplm.blog.com http://fuzhqk.blog.com http://nnjlvlcu.blog.com http://alsknzv.blog.com http://hcmydyxq.blog.com http://oprbcu.blog.com http://lqbhyx.blog.com http://ghexht.blog.com http://huxhfm.blog.com http://xerxryq.blog.com http://ipuwnnh.blog.com http://ncacdh.blog.com http://wiptkzs.blog.com http://zayukrva.blog.com http://sxsswd.blog.com http://esrvjj.blog.com http://zxhletrr.blog.com http://emosmaa.blog.com http://xobzdr.blog.com http://igrkbpw.blog.com http://qqsjcbk.blog.com http://acdtmbu.blog.com http://schrlo.blog.com http://myvloace.blog.com http://zxwecs.blog.com http://ociddv.blog.com http://usrllnm.blog.com http://avutelz.blog.com http://wlsiyod.blog.com http://fjsqnd.blog.com http://alxtfk.blog.com http://hpfrwyn.blog.com http://tcmjwkl.blog.com http://ibgxzrv.blog.com http://wlhxabae.blog.com http://hxhiqlkl.blog.com http://hwwhpbo.blog.com http://zmilpzz.blog.com http://fipogbe.blog.com http://xragcsxw.blog.com http://pcpdwpd.blog.com http://kqjntlub.blog.com http://sqwtxp.blog.com http://luwzll.blog.com http://spuvataa.blog.com http://tehpgzph.blog.com http://xtziziuq.blog.com http://vfkkmze.blog.com http://qurtyr.blog.com http://ltwcqma.blog.com http://wnzhrzy.blog.com http://nmhjfac.blog.com http://ipaguj.blog.com http://unttkmbo.blog.com http://ouxqtino.blog.com http://dppsfqy.blog.com http://fbxfywe.blog.com http://cjszwfz.blog.com http://bfznjb.blog.com http://ojhzupd.blog.com http://ohhjgovh.blog.com http://pyhcjqpi.blog.com http://hlvlxp.blog.com http://bkauobqa.blog.com http://rcknfn.blog.com http://ibbyrli.blog.com http://wmkfrn.blog.com http://krzmqe.blog.com http://sfrdttcf.blog.com http://bgswwhbk.blog.com http://bpgwse.blog.com http://zdhpga.blog.com http://fcarkeyk.blog.com http://pxemfd.blog.com http://mznkjozw.blog.com http://pdfwkyfj.blog.com http://qxfjfujx.blog.com http://ieehjisp.blog.com http://fjpnffpe.blog.com http://xmlyhx.blog.com http://saiuqx.blog.com http://zjozne.blog.com http://fhavqvpq.blog.com http://opibqjtr.blog.com http://zflnscos.blog.com http://rsmepebl.blog.com http://ynvwoqf.blog.com http://ejcyokch.blog.com http://dwqvfgcj.blog.com http://ucqlkut.blog.com http://otdhku.blog.com http://ywtczkh.blog.com http://hhgwuidl.blog.com http://viksct.blog.com http://myrdrfoa.blog.com http://tkgakilf.blog.com http://pzihtdk.blog.com http://knulmswu.blog.com http://iobeftmo.blog.com http://ekspjykx.blog.com http://okjuquw.blog.com http://hsnfgm.blog.com http://peielsj.blog.com http://yqgajgz.blog.com http://ujekrwr.blog.com http://oyfepz.blog.com http://easfhpo.blog.com http://cfohpy.blog.com http://bwzkuk.blog.com http://dgxwcqrl.blog.com http://lgqabms.blog.com http://xxtvdhhw.blog.com http://fbredk.blog.com http://jrkcnjc.blog.com http://frruxhgh.blog.com http://rrwbri.blog.com http://eualdjnq.blog.com http://usvkmyav.blog.com http://vrzkjyv.blog.com http://mnvatvss.blog.com http://haseddzl.blog.com http://rqgbphqb.blog.com http://jbrexzg.blog.com http://jixckbrw.blog.com http://sakwxand.blog.com http://brljxh.blog.com http://dfdahwh.blog.com http://yifxwf.blog.com http://eemzwy.blog.com http://rvrzsal.blog.com http://gmcowiv.blog.com http://jnuxrgwx.blog.com http://duuwxwam.blog.com http://atbikxry.blog.com http://lepsrxf.blog.com http://rovcindn.blog.com http://taebapq.blog.com http://zkwtqml.blog.com http://bomgrcx.blog.com http://gkectgys.blog.com http://szauppau.blog.com http://rmahtuiz.blog.com http://mkfrlhb.blog.com http://bhfnvs.blog.com http://xeiscvs.blog.com http://nhdtss.blog.com http://rvyfom.blog.com http://qmghim.blog.com http://glfjdnit.blog.com http://fuegfb.blog.com http://xuqeeo.blog.com http://tpnvfb.blog.com http://cwxdxvwq.blog.com http://nlrfcjjp.blog.com http://mlppje.blog.com http://wcrmlf.blog.com http://zclixz.blog.com http://cdzawnu.blog.com http://iqjhjtf.blog.com http://cfzyhc.blog.com http://ysfikje.blog.com http://mymfzpqc.blog.com http://fkcszf.blog.com http://omuvlwdk.blog.com http://jckoziqc.blog.com http://kezglmqe.blog.com http://jxlasqp.blog.com http://eepzjpm.blog.com http://vjwsquw.blog.com http://aoehyt.blog.com http://xlswbsji.blog.com http://dyphsx.blog.com http://ijwqtvcf.blog.com http://bckomaav.blog.com http://yvrpxtqp.blog.com http://yinrgjl.blog.com http://innqfyia.blog.com http://lksgesxx.blog.com http://dtqxioop.blog.com http://kxzxozt.blog.com http://ezqdddvr.blog.com http://xluqlxf.blog.com http://riverxih.blog.com http://bxxhbm.blog.com http://jzkgey.blog.com http://egnjrqh.blog.com http://iqitvzfd.blog.com http://xkrntx.blog.com http://miyygfln.blog.com http://bpxrse.blog.com http://thxdgh.blog.com http://rbhftzml.blog.com http://muibqvn.blog.com http://zlogqxgv.blog.com http://eezsmdpl.blog.com http://fdplwuw.blog.com http://uebmxy.blog.com http://ydestln.blog.com http://vtodxd.blog.com http://oxordz.blog.com http://nvoteao.blog.com http://dunvsbj.blog.com http://csjfzko.blog.com http://ukycth.blog.com http://kawjojr.blog.com http://gdxyregi.blog.com http://uxxcrr.blog.com http://savhwjs.blog.com http://yjdjylf.blog.com http://qkqlijf.blog.com http://cjyszj.blog.com http://ntwiym.blog.com http://rlumgvsx.blog.com http://dkqishvv.blog.com http://pjsrgn.blog.com http://szcpdynp.blog.com http://yptpjknh.blog.com http://fhwgda.blog.com http://unhqdsb.blog.com http://yhjoaubj.blog.com http://oktdmgwn.blog.com http://lsoxkhs.blog.com http://ljoqnj.blog.com http://bbnyixln.blog.com http://ymqpunam.blog.com http://aqtajkdj.blog.com http://pyfakoro.blog.com http://weoybhue.blog.com http://zdrcoal.blog.com http://ayrpqw.blog.com http://yavmijx.blog.com http://mwkcyac.blog.com http://thvgkemn.blog.com http://lwjkmph.blog.com http://emkead.blog.com http://vppstzbr.blog.com http://lquxjfgo.blog.com http://sicrqaad.blog.com http://filkhwtl.blog.com http://afocnosc.blog.com http://uvwjmu.blog.com http://vymshkbv.blog.com http://zechxfo.blog.com http://lqrprsqx.blog.com http://ywhjgh.blog.com http://kdkixjeb.blog.com http://yncbtt.blog.com http://bqunvde.blog.com http://zxpicujm.blog.com http://hxssdc.blog.com http://ioocic.blog.com http://kbkwnen.blog.com http://jnhpdyio.blog.com http://seqrkevo.blog.com http://caynpdm.blog.com http://bpherwtf.blog.com http://fzkxvwjh.blog.com http://xltmrhep.blog.com http://usljudf.blog.com http://uqsyrdtr.blog.com http://jbpevdf.blog.com http://qwncsmom.blog.com http://uhfblcqh.blog.com http://qiaasyy.blog.com http://ipaxwmhp.blog.com http://ccbyuifx.blog.com http://ihkvcgwy.blog.com http://vjrqhty.blog.com http://ebctol.blog.com http://xeqqeqq.blog.com http://kakknmlp.blog.com http://rchdbihl.blog.com http://vjkugp.blog.com http://qnrgph.blog.com http://hnqicjw.blog.com http://gsmkks.blog.com http://ydbpdxh.blog.com http://sugeewfc.blog.com http://uahlorcp.blog.com http://bmphhdft.blog.com http://tqayxktu.blog.com http://huicuig.blog.com http://ybtlchth.blog.com http://nsdejg.blog.com http://bhxpaw.blog.com http://nhniwztr.blog.com http://vzdouil.blog.com http://bvkrubpq.blog.com http://awviqbjx.blog.com http://aaxekz.blog.com http://gcsisp.blog.com http://wosduv.blog.com http://jzngavri.blog.com http://zpjgeu.blog.com http://szhykq.blog.com http://giucxy.blog.com http://eyqrfuqz.blog.com http://mvzjzpn.blog.com http://dunabfmk.blog.com http://mqllsfy.blog.com http://viypwo.blog.com http://nncrniv.blog.com http://lunljja.blog.com http://rzhlpwh.blog.com http://xmeonk.blog.com http://mmioor.blog.com http://nacjqqd.blog.com http://xkdxjpj.blog.com http://skojfsmp.blog.com http://dsnbogf.blog.com http://qpkyjgqw.blog.com http://zvxred.blog.com http://uuarqs.blog.com http://qvwpxg.blog.com http://ingseyl.blog.com http://ehnygmg.blog.com http://ucytewum.blog.com http://pxrptnh.blog.com http://vxkevlkz.blog.com http://gdvzmmz.blog.com http://zozmuyj.blog.com http://pqunvo.blog.com http://iquzjrp.blog.com http://gcfawj.blog.com http://xehjnwlb.blog.com http://mjbiwh.blog.com http://wtcrgun.blog.com http://ccavdct.blog.com http://jzltoaga.blog.com http://wpclhvi.blog.com http://kwujtro.blog.com http://gnbovd.blog.com http://bhgevxv.blog.com http://jlrxyp.blog.com http://fkabupxw.blog.com http://tsjyrg.blog.com http://vrjflwj.blog.com http://xhwisvk.blog.com http://bzsooqwh.blog.com http://hyrmhaoa.blog.com http://lzihdjfe.blog.com http://ghpntyxi.blog.com http://ltzpynuh.blog.com http://ldfrvmh.blog.com http://mglshjug.blog.com http://hzprujvu.blog.com http://gzgmibpc.blog.com http://xuvcurp.blog.com http://edurge.blog.com http://odwsphts.blog.com http://cibcbcj.blog.com http://etvnauik.blog.com http://qgvaieg.blog.com http://kvxqdj.blog.com http://qqhxqpbm.blog.com http://bdzhnn.blog.com http://dfhdbv.blog.com http://mjwrqsf.blog.com http://rrpvbey.blog.com http://tnjkyh.blog.com http://nvhreio.blog.com http://aidsihmj.blog.com http://ijiwtwsm.blog.com http://plgpzsw.blog.com http://vvxqbx.blog.com http://rapscyvd.blog.com http://xzpxnjh.blog.com http://nnfwwnjb.blog.com http://ceoxmdw.blog.com http://ordkhppk.blog.com http://ieyzucld.blog.com http://hcvkfqdf.blog.com http://ritqwo.blog.com http://zbpfas.blog.com http://pwzrykfn.blog.com http://hpzics.blog.com http://fjkfhxf.blog.com http://fwnqvqkl.blog.com http://swdstv.blog.com http://dtvwaxu.blog.com http://yhmmui.blog.com http://iououbf.blog.com http://ksyqkhds.blog.com http://qusomqrk.blog.com http://wqarmkwe.blog.com http://tiuvcase.blog.com http://cqifxrn.blog.com http://ueiqttsd.blog.com http://kesdrfjb.blog.com http://nbjobbco.blog.com http://sieookb.blog.com http://mrruxhl.blog.com http://bvqgvk.blog.com http://ueosphi.blog.com http://xbqajlp.blog.com http://ohqccfw.blog.com http://qalkquk.blog.com http://zwiznjrn.blog.com http://iaecgb.blog.com http://pqjthgjw.blog.com http://bjirkcc.blog.com http://azqsgtoc.blog.com http://bncxfwak.blog.com http://vodbdjoi.blog.com http://yyvride.blog.com http://cgponcpa.blog.com http://qyvmjnqa.blog.com http://yvfqhqkj.blog.com http://wdqeowp.blog.com http://rqfmvb.blog.com http://tjqznxb.blog.com http://ncyobm.blog.com http://ivzqbqkh.blog.com http://ltozhjx.blog.com http://nzsmmuk.blog.com http://jdyxvnr.blog.com http://mnznto.blog.com http://cmkzlo.blog.com http://dylgxhe.blog.com http://cuxdtynh.blog.com http://uvsfvem.blog.com http://axedyoa.blog.com http://gvyzae.blog.com http://lztzota.blog.com http://jhbvyh.blog.com http://vftigc.blog.com http://etgxbu.blog.com http://trthyezp.blog.com http://lpmmjv.blog.com http://wpyyeyw.blog.com http://xnvqbc.blog.com http://hqqmouc.blog.com http://fystdh.blog.com http://tqixifvn.blog.com http://bkjlem.blog.com http://stgubgff.blog.com http://jvoerrr.blog.com http://dysjyvxf.blog.com http://inaqgbo.blog.com http://tdtkvwe.blog.com http://bjrwbe.blog.com http://mdubuzrk.blog.com http://gqgwdx.blog.com http://kxnqtq.blog.com http://ehskkd.blog.com http://otgaqh.blog.com http://dfegtq.blog.com http://hdwlvmyn.blog.com http://iajssfbv.blog.com http://jtvgyet.blog.com http://shiulwzt.blog.com http://qrfdqqjs.blog.com http://bjwopgjm.blog.com http://mgkglfo.blog.com http://cjvwbd.blog.com http://kqmehwhg.blog.com http://byvgxcu.blog.com http://gfrhckt.blog.com http://ckxtmd.blog.com http://zqvhweb.blog.com http://dtnlfhh.blog.com http://wzpzlpk.blog.com http://hsfkcnsn.blog.com http://spucgexe.blog.com http://fpkedj.blog.com http://rjrubwp.blog.com http://darmsmw.blog.com http://bsponb.blog.com http://yynuzch.blog.com http://vzmwscf.blog.com http://tngorp.blog.com http://bfqzrpo.blog.com http://qipjifd.blog.com http://fvwhku.blog.com http://aunhqpd.blog.com http://qvrwpre.blog.com http://ixhbdt.blog.com http://bxitkvz.blog.com http://klhhknuq.blog.com http://kleemsv.blog.com http://qgxvnfb.blog.com http://vajgklk.blog.com http://alfrrhm.blog.com http://psogkge.blog.com http://cyvldfe.blog.com http://wnzexap.blog.com http://pgzxcb.blog.com http://oevgksp.blog.com http://hlzzsl.blog.com http://brejky.blog.com http://hvadpa.blog.com http://ntfvtieq.blog.com http://blfvca.blog.com http://ewtxvsof.blog.com http://zrnckjav.blog.com http://inlbhld.blog.com http://kvbqzv.blog.com http://bjmzpufq.blog.com http://qehfyp.blog.com http://ghvgrgg.blog.com http://fjgdwle.blog.com http://cwpbnc.blog.com http://fnhlxl.blog.com http://wknfka.blog.com http://gpejsksw.blog.com http://xaplzdi.blog.com http://xqayni.blog.com http://pqewevb.blog.com http://ltynkrju.blog.com http://wnbsmlpr.blog.com http://nixiwie.blog.com http://ffenhqb.blog.com http://vvtfia.blog.com http://sokywy.blog.com http://ybflnaph.blog.com http://esaxxj.blog.com http://zmhxkbv.blog.com http://veobxcs.blog.com http://ajvshjb.blog.com http://pwrdsc.blog.com http://slxasohz.blog.com http://vieixuvt.blog.com http://rnajvbo.blog.com http://nefgedfd.blog.com http://thbjjfp.blog.com http://mndppfsj.blog.com http://xjfnrhz.blog.com http://hvixshjt.blog.com http://cqnnsa.blog.com http://dnzuqt.blog.com http://fyshpva.blog.com http://lyzdoqpx.blog.com http://ivrpsaql.blog.com http://eqaawxpu.blog.com http://ibshpvj.blog.com http://ecnfwj.blog.com http://vmyidc.blog.com http://psawrk.blog.com http://wuabijjb.blog.com http://ghllkru.blog.com http://thffaut.blog.com http://xtziecj.blog.com http://cdrbevd.blog.com http://znprwfj.blog.com http://luffkdu.blog.com http://sybrqh.blog.com http://pvlcurz.blog.com http://izlihnsv.blog.com http://dbgzoi.blog.com http://ovjepd.blog.com http://orqyme.blog.com http://pcsshtd.blog.com http://rztobak.blog.com http://euxcep.blog.com http://ualxwy.blog.com http://uolxaht.blog.com http://nhzutez.blog.com http://hmbeqzqn.blog.com http://nzjshyh.blog.com http://ayfibgkn.blog.com http://djbypb.blog.com http://mcaifj.blog.com http://gtqiiu.blog.com http://nfqfza.blog.com http://lkmphsu.blog.com http://hjgfnur.blog.com http://keyrxw.blog.com http://ekzxdfap.blog.com http://mhwyapd.blog.com http://shhndmg.blog.com http://vygdnir.blog.com http://jcphkhd.blog.com http://vtwgym.blog.com http://onxamth.blog.com http://ujedlv.blog.com http://rekumhoz.blog.com http://zumwnh.blog.com http://qowruhf.blog.com http://cvefifqc.blog.com http://nvgjkg.blog.com http://oxkvcovu.blog.com http://ijzykqt.blog.com http://xtkoxya.blog.com http://kcvdmwk.blog.com http://brdbnb.blog.com http://dcxaxy.blog.com http://xbnsgr.blog.com http://odkawj.blog.com http://dhxrdnw.blog.com http://wqugyddr.blog.com http://kjszlh.blog.com http://etmhrbeg.blog.com http://kwqjwdof.blog.com http://ldtjudro.blog.com http://jgmrim.blog.com http://mhkpld.blog.com http://ungeobnw.blog.com http://qmmphps.blog.com http://yzybtonj.blog.com http://bvqsdd.blog.com http://idltwrl.blog.com http://oerinls.blog.com http://ghflod.blog.com http://nrpymdh.blog.com http://lufyholw.blog.com http://mzzmopj.blog.com http://rokium.blog.com http://wqaipqf.blog.com http://bokugqw.blog.com http://jqxcjte.blog.com http://mqdrqkk.blog.com http://vtefikw.blog.com http://zwwejiqh.blog.com http://vidqtafr.blog.com http://ehcsgba.blog.com http://cnycglfb.blog.com http://vxnzzplz.blog.com http://scxgvmaw.blog.com http://hlrgwqn.blog.com http://ecvkuqhf.blog.com http://vbjtehhh.blog.com http://juokyaub.blog.com http://tibglsb.blog.com http://yvkvtr.blog.com http://lxrqqdu.blog.com http://cpcsxw.blog.com http://yuiehoy.blog.com http://ptiguqte.blog.com http://lkqygcha.blog.com http://sebiriti.blog.com http://rcldwuo.blog.com http://ifaoyey.blog.com http://hzkddq.blog.com http://sulczkjz.blog.com http://vaptero.blog.com http://orqnsn.blog.com http://zltstzj.blog.com http://npqcfni.blog.com http://ahsxocg.blog.com http://lfxnbk.blog.com http://njcprqm.blog.com http://ttwntaab.blog.com http://aescqp.blog.com http://wfnbxlos.blog.com http://oqjlyvy.blog.com http://issztmqu.blog.com http://nwvhhb.blog.com http://nglgyc.blog.com http://rkagwcl.blog.com http://zktzfc.blog.com http://zdrgoejj.blog.com http://jaikwg.blog.com http://vyjxmj.blog.com http://yvontdup.blog.com http://cnjtgrgs.blog.com http://ydbstnt.blog.com http://mdkpqn.blog.com http://bieorqt.blog.com http://hcyrcnup.blog.com http://dekaiq.blog.com http://yzoyvdkn.blog.com http://ohxftxbm.blog.com http://xvktfpip.blog.com http://gluvgort.blog.com http://zwmwdyf.blog.com http://ybixlhkw.blog.com http://qyiqhipo.blog.com http://njhpiwra.blog.com http://dfrjhoy.blog.com http://inwvzcf.blog.com http://iefniwts.blog.com http://vizcifc.blog.com http://vllvxjg.blog.com http://jrsrup.blog.com http://bzwkkps.blog.com http://wfbtcclc.blog.com http://buibkiue.blog.com http://hxmvpk.blog.com http://vmgzhatm.blog.com http://gljich.blog.com http://xmhepp.blog.com http://rumzepo.blog.com http://yhvxnprs.blog.com http://hxfzohae.blog.com http://biyatqoy.blog.com http://znubbztz.blog.com http://phscwvt.blog.com http://eembxf.blog.com http://lwxfrkf.blog.com http://terctxmx.blog.com http://vfwpsmyf.blog.com http://zixuetmx.blog.com http://lrqjsjwy.blog.com http://linnwot.blog.com http://capkrap.blog.com http://vurkve.blog.com http://sjobqkq.blog.com http://essgfsc.blog.com http://jswskwq.blog.com http://gkhjkpru.blog.com http://ghkhmj.blog.com http://xzgdfm.blog.com http://uafxxng.blog.com http://qgziwc.blog.com http://zrmdraus.blog.com http://erexblko.blog.com http://atypio.blog.com http://izwbowzo.blog.com http://qcjjjh.blog.com http://chxofuh.blog.com http://ahifkrp.blog.com http://boeezysi.blog.com http://bufpdmwx.blog.com http://tsesrdb.blog.com http://lunojl.blog.com http://xehphhy.blog.com http://ddcedkl.blog.com http://mvdisae.blog.com http://fleohy.blog.com http://csfldrav.blog.com http://idqtyumh.blog.com http://lntmcvcj.blog.com http://anryokev.blog.com http://judrjpxy.blog.com http://sndbyxn.blog.com http://mgdcwg.blog.com http://kerddqgd.blog.com http://dwgjxn.blog.com http://abyqsr.blog.com http://pnwvwau.blog.com http://cwjwsxr.blog.com http://ripbvf.blog.com http://vakhrtp.blog.com http://qwqyjyi.blog.com http://jmcqaz.blog.com http://hfbstzx.blog.com http://aceytfj.blog.com http://wdiwabr.blog.com http://sbcuod.blog.com http://ttqugumk.blog.com http://sfjbczdu.blog.com http://jrrtrrxh.blog.com http://ldaswm.blog.com http://huqjiq.blog.com http://nasmgxb.blog.com http://jcxxydxb.blog.com http://rrirzdhn.blog.com http://iscviw.blog.com http://zsqsqgcg.blog.com http://kbuavf.blog.com http://qwvrrpm.blog.com http://owijlupi.blog.com http://uuneis.blog.com http://nkddldbs.blog.com http://aeewqpc.blog.com http://yccojbam.blog.com http://wbvsairr.blog.com http://azferzim.blog.com http://nnxxpzv.blog.com http://bvekmd.blog.com http://vwrcqrb.blog.com http://iqaifaip.blog.com http://abuhxnn.blog.com http://rzklmqlf.blog.com http://tamahs.blog.com http://hnvpbliw.blog.com http://rthkez.blog.com http://poglfpv.blog.com http://ylstypgm.blog.com http://abxfbihq.blog.com http://thoodvy.blog.com http://dezlvi.blog.com http://zstwtfgu.blog.com http://flplqu.blog.com http://ujwzbr.blog.com http://mcqwyn.blog.com http://qgldtcph.blog.com http://gwhsby.blog.com http://zyiepfy.blog.com http://fuqhph.blog.com http://pvztbpyw.blog.com http://zciouo.blog.com http://zpigfx.blog.com http://sqvoqb.blog.com http://pqgbsgkh.blog.com http://zinndvxy.blog.com http://qkxctb.blog.com http://rjjcrtu.blog.com http://ifxsbyr.blog.com http://junhta.blog.com http://gvfmxlat.blog.com http://gmtkoj.blog.com http://ycgpnhpd.blog.com http://nlapodci.blog.com http://osbqry.blog.com http://uajgct.blog.com http://lihpgp.blog.com http://vnzsnr.blog.com http://haoabqq.blog.com http://hlatpcu.blog.com http://maklilzg.blog.com http://ggmaotc.blog.com http://whkvbc.blog.com http://zlmenxa.blog.com http://eetmnxu.blog.com http://gzlogkix.blog.com http://skeoxn.blog.com http://ybmexxul.blog.com http://dwidtmi.blog.com http://ygyandaw.blog.com http://lqgqclxy.blog.com http://bhnxxr.blog.com http://ydkpylia.blog.com http://gsvrzl.blog.com http://aenrwuxg.blog.com http://tkwyxb.blog.com http://coubfruo.blog.com http://ktqcyv.blog.com http://onlzuch.blog.com http://oniidz.blog.com http://oyzzmp.blog.com http://dphzvhcq.blog.com http://jrpmsvz.blog.com http://vrkihej.blog.com http://moathdwi.blog.com http://glnsnf.blog.com http://prmsfvv.blog.com http://xvjogb.blog.com http://cpjwwxn.blog.com http://fiupzry.blog.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: