Y
Y
Yaroslav Belash2016-07-15 08:31:12
Arduino
Yaroslav Belash, 2016-07-15 08:31:12

Sending serial code via C#?

It is necessary through the program in VS to send values ​​to the serialport of the arduino. First, for the submit buttons, I wrote the following code:

if (!serialPort1.IsOpen)
            {
                try
                {
                    serialPort1.Open();
                    serialPort1.Write("1");
                    serialPort1.Close();
                }
                catch
                {
                    MessageBox.Show("Произошла ошибка. Вероятно порт не подключен или настроен неверно");
                }
            }

But for each button there is so much code, I decided to make a method and call it with an argument.
private static void sendserial(int code)
        {
            if (!serialPort1.IsOpen)
            {
                try
                {
                    serialPort1.Open();
                    serialPort1.Write(code);
                    serialPort1.Close();
                }
                catch
                {
                    MessageBox.Show("Произошла ошибка. Вероятно порт не подключен или настроен неверно");
                }
            }
        }

When compiling, I get the error "The non-static field, method, or property "light.serialPort1" requires an object reference"

Answer the question

In order to leave comments, you need to log in

1 answer(s)
D
DrBrain, 2016-07-15
@DrBrain

Видимо serialPort1 объявлен не как static.
Посмотрите описание ошибки https://msdn.microsoft.com/ru-ru/library/s35hcfh7.aspx
Попробуйте, по возможности, избавиться от static в методе sendserial (подумайте насколько он Вам нужен как статический). Ну либо объявить serialPort1 как static (опять же, подумайте насколько он Вам нужен как статический).

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question