collection里的数据为:
8 Khz
12.5 Khz
16 Khz
20 Khz
25 Khz
40 Khz
50 Khz
80 Khz
(注意 有单位)
我写的一段代码 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
pf = Convert.ToInt16(comboBox1.Text); SendBuffer[0] = TAG_CMD;
SendBuffer[1] = 0x08;
SendBuffer[2] = CMD_SET_PARAM_VALUE;
SendBuffer[3] = PARAM_PWM_FREQUENCY;
SendBuffer[4] = (byte)(pf & 0xff);
SendBuffer[5] = (byte)(pf >> 8);
SendBuffer[6] = (byte)(checksum(6));
frm1.serialPort1.Write(SendBuffer, 0, SendBuffer[1]);
}由于有单位 会取值错误 有没有什么方法次用去掉单位也可以取到值的
另外在去掉单位调试时会在
frm1.serialPort1.Write(SendBuffer, 0, SendBuffer[1]);
出错:未将对象引用设置到对象的实例
其中
frm1.serialPort1.Write(SendBuffer, 0, SendBuffer[1]);是从form1中将private改为public引用过来的请大家指点
8 Khz
12.5 Khz
16 Khz
20 Khz
25 Khz
40 Khz
50 Khz
80 Khz
(注意 有单位)
我写的一段代码 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
pf = Convert.ToInt16(comboBox1.Text); SendBuffer[0] = TAG_CMD;
SendBuffer[1] = 0x08;
SendBuffer[2] = CMD_SET_PARAM_VALUE;
SendBuffer[3] = PARAM_PWM_FREQUENCY;
SendBuffer[4] = (byte)(pf & 0xff);
SendBuffer[5] = (byte)(pf >> 8);
SendBuffer[6] = (byte)(checksum(6));
frm1.serialPort1.Write(SendBuffer, 0, SendBuffer[1]);
}由于有单位 会取值错误 有没有什么方法次用去掉单位也可以取到值的
另外在去掉单位调试时会在
frm1.serialPort1.Write(SendBuffer, 0, SendBuffer[1]);
出错:未将对象引用设置到对象的实例
其中
frm1.serialPort1.Write(SendBuffer, 0, SendBuffer[1]);是从form1中将private改为public引用过来的请大家指点
跟踪看看frm1是否为null,serialPort1是否public
string Id = drv.Row["id"].ToString();
单步值为 null
{
pf = Convert.ToInt16(comboBox1.Text.substring(0,comboBox1.Text.indexOf(" "))); SendBuffer[0] = TAG_CMD;
SendBuffer[1] = 0x08;
SendBuffer[2] = CMD_SET_PARAM_VALUE;
SendBuffer[3] = PARAM_PWM_FREQUENCY;
SendBuffer[4] = (byte)(pf & 0xff);
SendBuffer[5] = (byte)(pf >> 8);
SendBuffer[6] = (byte)(checksum(6));
new frm1().serialPort1.Write(SendBuffer, 0, SendBuffer[1]);
}
pf = Convert.ToInt16(comboBox1.Text.Split(' ')[0]);
现在要将等一个值也就是8Khz设为0 以此类推 80Khz为7
要如何取值