.net 2.0 串口通讯一小例

前一段时间给别人弄串口通讯程序时写的一个小小程序,今天整理硬盘时发现了。放在这里以方便以后查找.
   public partial class Form1 : Form
    
{
        
public Form1()
        
{
            InitializeComponent();
        }


        
static char[] hexDigits = {
        
'0''1''2''3''4''5''6''7',
        
'8''9''A''B''C''D''E''F'}
;

        
public static string ToHexString(byte[] bytes)
        
{
            
char[] chars = new char[bytes.Length * 2];
            
for (int i = 0; i < bytes.Length; i++)
            
{
                
int b = bytes[i];
                chars[i 
* 2= hexDigits[b >> 4];
                chars[i 
* 2 + 1= hexDigits[b & 0xF];
            }

            
return new string(chars);
        }

        
public static string ToHexString(byte bytes)
        
{
            
char[] chars = new char2];
            
for (int i = 0; i < 1; i++)
            
{
                
int b = bytes;
                chars[i 
* 2= hexDigits[b >> 4];
                chars[i 
* 2 + 1= hexDigits[b & 0xF];
            }

            
return new string(chars);
        }


        
private void button1_Click(object sender, EventArgs e)
        
{
            
string[] cs = textBox1.Text.Split(' ');
            
byte[] bs = new byte[cs.Length];
            
for (int i = 0; i < cs.Length; i++)
            
{
                Console.Write(
"0x" + cs[i] + ",");
                
//bs[i] = Convert.ToByte("0x"+cs[i]);
                
//Console.WriteLine(Convert.ToByte(cs[i]));

            }

        }


        
private void button2_Click(object sender, EventArgs e)
        
{
             
for (int i = 0; i < b.Length; i++)
            
{
                Console.Write(
string.Format( "|{0,-10}|",ToHexString(b[i])));
               
            }

            Console.WriteLine();
            
for (int i = 0; i < b.Length; i++)
            
{
                Console.Write(
string.Format( "|{0,-10}|",b[i].ToString()));

            }

            Console.WriteLine();
            
for (int i = 0; i < b.Length; i++)
            
{
                Console.Write(
string.Format( "|{0,-10}|",Convert.ToChar(b[i])).ToString());
            }



        }

        
byte[] b1 = 0x020x300x350x2F0x310x310x2F0x310x310x320x310x3A0x310x310x200x300x300x300x300x300x300x300x300x300x300x320x340x5A0x000x7F0x7F0x000x7F0x7F0x000x7F0x7F0x000x000x200x000x6D0x020x5A0x000x310x020x1C0x030x010x010x260x010x480x000x5E0x000x150x000x000x030x530x000x100x000x000x000x5D0x000x1F0x020x080x000x020x000x620x000x7D0x020x510x060x4E0x200x310x300x2E0x390x200x360x2E0x300x320x200x200x310x370x370x300x2E0x350x340x300x200x380x390x2E0x370x200x320x390x2E0x340x200x200x330x320x380x200x200x320x320x320x300x2E0x310x340x390x2D0x2E0x2D0x2D0x2D0x2D0x2E0x2D0x2D0x2D0x200x200x310x2E0x360x2D0x2D0x2D0x2E0x2D0x2D0x2D0x2D0x2E0x2D0x300x2E0x310x350x390x200x350x320x2E0x300x200x310x330x2E0x300x200x200x390x2E0x380x300x2E0x320x350x330x200x370x320x2E0x310x2D0x2D0x2D0x2E0x2D0x200x2B0x2B0x2B0x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x540x320x540x320x200x200x540x320x540x320x200x200x200x200x200x200x200x200x200x200x000x010x070x0F0x120x0E0x050x010x080x200x3C0x400x2F0x190x0D0x0A0x0C0x130x1A0x260x310x380x3D0x410x480x4C0x540x5C0x640x640x5E0x5B0x550x470x3A0x310x250x1B0x150x0E0x0A0x060x040x030x020x020x020x020x010x010x000x000x000x010x020x020x020x020x020x030x070x0E0x1A0x2E0x470x5C0x640x5D0x4D0x3C0x300x260x1F0x180x130x0E0x0A0x080x070x060x050x050x040x040x040x040x030x030x030x020x020x020x020x010x010x010x010x010x000x000x010x030x110x310x510x600x640x630x580x490x3C0x2D0x250x200x180x130x110x0D0x0C0x0E0x0C0x090x070x090x0B0x0B0x0A0x0C0x0D0x0B0x090x090x0B0x0C0x0D0x0F0x110x140x190x1E0x070x0F0x0F0x310x040x310x010x180x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x200x200x200x200x200x200x200x200x040x200x430x310x300x200x000x000x000x000x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x000x000x550x000x000x2A0x03 };
        
byte[] b = 0x020x300x350x2F0x310x310x2F0x310x310x320x320x3A0x310x340x200x300x300x300x300x300x300x300x300x300x300x300x320x5A0x000x7F0x7F0x000x7F0x7F0x000x7F0x7F0x000x000x200x000x5C0x010x070x000x0B0x010x050x030x630x010x630x010x650x000x490x000x380x000x370x020x790x000x110x000x050x000x460x000x060x010x470x000x000x000x690x010x1B0x020x3B0x060x710x200x200x390x2E0x320x200x330x2E0x390x310x200x200x310x330x390x300x2E0x330x380x390x200x390x390x2E0x350x200x330x350x2E0x350x200x200x330x350x370x200x200x320x300x310x300x2E0x310x380x340x300x2E0x300x350x350x300x2E0x370x360x310x200x200x310x2E0x370x200x200x300x2E0x350x200x200x370x2E0x300x300x2E0x310x330x340x200x340x350x2E0x350x200x310x320x2E0x380x200x310x300x2E0x350x300x2E0x320x380x330x200x360x390x2E0x390x310x370x370x2E0x370x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x000x010x040x090x0B0x070x020x000x080x280x480x490x2C0x110x070x0A0x110x130x120x120x150x180x1B0x290x3C0x4B0x540x5E0x640x600x5A0x4F0x420x350x270x1F0x170x100x0A0x070x050x020x010x010x010x010x010x000x000x000x000x000x000x020x020x020x010x010x010x010x020x030x070x0F0x1D0x330x4C0x5E0x640x5E0x4E0x3A0x290x1D0x180x130x110x0F0x0D0x0B0x080x060x050x030x030x020x020x020x020x020x020x020x020x020x010x010x010x010x010x010x000x010x060x170x350x510x620x640x590x4C0x410x350x290x1F0x1C0x160x100x0D0x0B0x080x070x060x060x060x050x050x040x040x030x030x040x030x030x040x040x040x040x040x030x030x070x0E0x130x310x060x310x010x1D0x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x200x200x200x200x200x200x200x200x040x200x430x310x300x200x000x000x000x000x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x200x000x000x550x000x000x440x03 };
        
public void DrawLinesPointF(PaintEventArgs e)
        
{
            
            
for (int i = 0; i < b.Length; i++)
            
{
                Console.Write(
string.Format("|{0,-10}|", ToHexString(b[i])));

            }

            Console.WriteLine();
            
for (int i = 0; i < b.Length; i++)
            
{
                Console.Write(
string.Format("|{0,-10}|", b[i].ToString()));

            }

            Console.WriteLine();
            
for (int i = 0; i < b.Length; i++)
            
{
                Console.Write(
string.Format("|{0,-10}|", Convert.ToChar(b[i])).ToString());
            }

            
// Create pen.
            Pen pen = new Pen(Color.Black, 3);
            
// Create array of points that define lines to draw.
            PointF[] points = new PointF[b.Length];
            
for(int i=0;i<b.Length-245;i++)
            
{ points[i] = new PointF(i*6,200- b[i+244]); };
            
//Draw lines to screen.
            e.Graphics.DrawLines(pen, points);
        }


        
private void Form1_Paint(object sender, PaintEventArgs e)
        
{
          
//  DrawLinesPointF(e);
        }


        
private void button3_Click(object sender, EventArgs e)
        
{
            serialPort1.Open();
        }


        
private void Form1_Load(object sender, EventArgs e)
        
{
            serialPort1.Close();
        }


        
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        
{
            
//byte[] bs = new byte[2048];
            
//serialPort1.Read(bs, 0, 2048);
            
//Console.WriteLine(bs);
        }


        
private void button4_Click(object sender, EventArgs e)
        
{
            
byte[] bs = 0x6 };
            serialPort1.Write(bs,
0,1);
        }


    }
原文地址:https://www.cnblogs.com/yanlixin/p/343628.html