private string canreceive2(out Ecan.CAN_OBJ[] resultobj, int count) { string canresult = ""; Ecan.CAN_ERR_INFO errinfo; int workStationCount = count; int size = Marshal.SizeOf(typeof(Ecan.CAN_OBJ)); IntPtr infosIntptr = Marshal.AllocHGlobal(size * workStationCount); resultobj = new Ecan.CAN_OBJ[workStationCount]; // MessageBox.Show(count.ToString()); Delay(40); if (Ecan.Receive2(4, 0, 0, infosIntptr, (ushort)count, 10) == Ecan.ECANStatus.STATUS_OK) /* MessageBox.Show(resultobj.ID.ToString("X"));*/ Delay{ (30); }
private void Form1_Load(object sender, EventArgs e) { Ecan.OpenDevice(4, 0, 0); Ecan.INIT_CONFIG init_config = new Ecan.INIT_CONFIG(); init_config.AccCode = 0; init_config.AccMask = 0xffffffff; init_config.Filter = 0; init_config.Timing0 = 0x01; init_config.Timing1 = 0x1C; init_config.Mode = 0; init_config.Reserved = 0x00; Ecan.InitCAN(4, 0, 0, ref init_config); Ecan.InitCAN(4, 0, 1, ref init_config); Ecan.StartCAN(4, 0, 0); Ecan.StartCAN(4, 0, 1); //图表的背景色 chart1.BackColor = Color.FromArgb(211, 223, 240); //图表背景色的渐变方式 chart1.BackGradientStyle = GradientStyle.None; //图表的边框颜色、 chart1.BorderlineColor = Color.FromArgb(26, 59, 105); //图表的边框线条样式 chart1.BorderlineDashStyle = ChartDashStyle.Solid; //图表边框线条的宽度 chart1.BorderlineWidth = 2; //图表边框的皮肤 chart1.BorderSkin.SkinStyle = BorderSkinStyle.None; Title title = new Title(); //标题内容 title.Text = "ADx Voltage"; //标题的字体 title.Font = new System.Drawing.Font("Microsoft Sans Serif", 12, FontStyle.Regular); //标题字体颜色 //title.ForeColor = Color.FromArgb(26, 59, 105); //标题阴影颜色 //title.ShadowColor = Color.FromArgb(32, 0, 0, 0); //标题阴影偏移量 //title.ShadowOffset = 3; chart1.Titles.Add(title); //图表区的名字 ChartArea chartArea = new ChartArea("Default"); //y轴刻度 chartArea.AxisY.Interval = 10; //y轴范围 chartArea.AxisY.Maximum = 5000; chartArea.AxisY.Minimum = 3600; //背景色 chartArea.BackColor = Color.White;// Color.FromArgb(64, 165, 191, 228); //背景渐变方式 chartArea.BackGradientStyle = GradientStyle.None; //渐变和阴影的辅助背景色 chartArea.BackSecondaryColor = Color.White; //边框颜色 chartArea.BorderColor = Color.Blue; //边框线条宽度 chartArea.BorderWidth = 2; //边框线条样式 chartArea.BorderDashStyle = ChartDashStyle.Solid; //阴影颜色 //chartArea.ShadowColor = Color.Transparent; //设置X轴和Y轴线条的颜色和宽度 chartArea.AxisX.LineColor = Color.FromArgb(64, 64, 64, 64); chartArea.AxisX.LineWidth = 1; chartArea.AxisY.LineColor = Color.FromArgb(64, 64, 64, 64); chartArea.AxisY.LineWidth = 1; //设置X轴和Y轴的标题 //chartArea.AxisX.Title = "time"; //chartArea.AxisY.Title = "count"; //chartArea.AxisX.TitleFont = new System.Drawing.Font("Microsoft Sans Serif", 10, FontStyle.Regular); //chartArea.AxisY.TitleFont = new System.Drawing.Font("Microsoft Sans Serif", 10, FontStyle.Regular); //设置图表区网格横纵线条的颜色和宽度 chartArea.AxisX.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64); chartArea.AxisX.MajorGrid.LineWidth = 1; chartArea.AxisY.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64); chartArea.AxisY.MajorGrid.LineWidth = 1; chart1.ChartAreas.Add(chartArea); Legend legend = new Legend(); legend.Alignment = StringAlignment.Center; legend.Docking = Docking.Bottom; legend.BackColor = Color.Transparent; this.chart1.Legends.Add(legend); // SetSeriesStyle(0); int seriesnum = 0; for (seriesnum = 0; seriesnum < 8; seriesnum++) { chart1.Series.Add(SetSeriesStyle(seriesnum)); } }