Первая программа на С# не получается сделать опрос входов с портом прокатила, а с опросом входов не прокатило помогите решить проблему.
Код:
            //открытие ком порта
            if (start)
            {  //закрытие ком порта
                NativeMethods.ClosePort();
                //установить цвет кнопки
                button1.BackColor = System.Drawing.Color.Lime;
            }
            else
            {
                ConnectionError res = (ConnectionError)NativeMethods.OpenPort(
                   mdvv_com_port_num, mdvv_speed, mdvv_parity, mdvv_bits,
                     mdvv_stop_bits, (int)ConverterType.Auto);
                if (res != ConnectionError.Ok)
                {
                    MessageBox.Show("Ошибка открытия порта: " + res.ToString());
                }
                //установить цвет кнопки
                button1.BackColor = System.Drawing.Color.Crimson;
            }
            start = !start;
        }
		не работает так как хочется
		
		 private void buttonReadRCN_Click(object sender, EventArgs e)
        {
           if (OprosCn)
            {
                textBoxMemo.Text = "";
                //установить цвет кнопки
                buttonReadRCN.BackColor = System.Drawing.Color.Lime;
            }
            else
            {
                IntPtr name = Marshal.StringToCoTaskMemAnsi("r.Cn");
                int bitMask = 0;
                ConnectionError res = (ConnectionError)NativeMethods.ReadUInt(
                deviceAddress, 0, name, ref bitMask, -1);
                if (res == ConnectionError.Ok)
                {
                    string inputs = string.Empty;
                    for (int i = 12; --i >= 0; )
                    {
                        if (((1 << i) & bitMask) != 0)
                            inputs += '1';
                        else
                            inputs += '0';
                    }
                    textBoxMemo.Text = inputs;
                }
                else
                    MessageBox.Show("Ошибка чтения r.Cn: " + res.ToString());
                Marshal.FreeCoTaskMem(name);
                //установить цвет кнопки рабочий
                buttonReadRCN.BackColor = System.Drawing.Color.Crimson;
            }
            OprosCn = !OprosCn;
        }