索引超出了数组界限
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
short qtemp;
string data;
//string data1;
double q;
int x=0;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
serialPort1.Close();
Close();
}
private void Form1_Load(object sender, EventArgs e)
{
serialPort1.PortName = "COM3";
serialPort1.BaudRate = 9600;
serialPort1.Encoding = Encoding.BigEndianUnicode;
serialPort1.Open();
}
private void DisplayText(object sender, EventArgs e)
{
char[] data1 = data.ToCharArray ();//字符串转字符数组
short data2 = (short)data1[0];//字符转数值
q=data2/10.0;//十进制
textBox5.Text =q.ToString ();
// chart1.Series["Series1"].Points.AddXY(x, q);
short q2 = (short)(q*2);
Graphics pic = this.pictureBox1.CreateGraphics();
pictureBox1.BackColor = Color.White;
if (x > 1) pic.DrawLine(Pens.Black, x, pictureBox1.Height - qtemp, x + 1, pictureBox1.Height - q2);
qtemp = q2;
x++;
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (serialPort1.IsOpen) serialPort1.Close();
}
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
data= serialPort1.ReadExisting();
this.Invoke(new EventHandler(DisplayText));
}
}
}
串口通信,接收单片机发送的数据。数据如下
01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B .....
标颜色的那个语句显示索引超出了数组界限,求解! C# --------------------编程问答--------------------
private void DisplayText(object sender, EventArgs e)
{
char[] data1 = data.ToCharArray ();//字符串转字符数组
short data2 = (short)data1[0];//字符转数值
q=data2/10.0;//十进制
textBox5.Text =q.ToString ();
// chart1.Series["Series1"].Points.AddXY(x, q);
short q2 = (short)(q*2);
Graphics pic = this.pictureBox1.CreateGraphics();
pictureBox1.BackColor = Color.White;
if (x > 1) pic.DrawLine(Pens.Black, x, pictureBox1.Height - qtemp, x + 1, pictureBox1.Height - q2);
qtemp = q2;
x++;
}
其中的: short data2 = (short)data1[0];//字符转数值 这句越界 --------------------编程问答-------------------- data为""
在data= serialPort1.ReadExisting();下一个断点调试下。
补充:.NET技术 , C#