Отправка serial кода через C#?

Нужно через программу в VS отправлять значения на serialport ардуины. Сначала для кнопок отправки прописывал следующий код:
if (!serialPort1.IsOpen)
            {
                try
                {
                    serialPort1.Open();
                    serialPort1.Write("1");
                    serialPort1.Close();
                }
                catch
                {
                    MessageBox.Show("Произошла ошибка. Вероятно порт не подключен или настроен неверно");
                }
            }

Но для каждой кнопки столько кода много, решил сделать метод, и вызывать его с аргументом.
private static void sendserial(int code)
        {
            if (!serialPort1.IsOpen)
            {
                try
                {
                    serialPort1.Open();
                    serialPort1.Write(code);
                    serialPort1.Close();
                }
                catch
                {
                    MessageBox.Show("Произошла ошибка. Вероятно порт не подключен или настроен неверно");
                }
            }
        }

При компиляции получаю ошибку "Для нестатического поля, метода или свойства "light.serialPort1" требуется ссылка на объект"
  • Вопрос задан
  • 375 просмотров
Пригласить эксперта
Ответы на вопрос 1
DrBrain
@DrBrain
Видимо serialPort1 объявлен не как static.
Посмотрите описание ошибки https://msdn.microsoft.com/ru-ru/library/s35hcfh7.aspx
Попробуйте, по возможности, избавиться от static в методе sendserial (подумайте насколько он Вам нужен как статический). Ну либо объявить serialPort1 как static (опять же, подумайте насколько он Вам нужен как статический).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы