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
//
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