Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Послать символ 10 на com порт (Visual C# Express)


Автор: master3763 19.2.2017, 18:40
Добрый вечер! Пытаюсь создать проект на Visual C# Express 2010.
Так чтобы при нажатии на кнопку посылался символ 10 на com порт. 
Вроде делаю все верно. А выводит:

Error    1    Use of unassigned local variable 'buf' ..... 


Код

private void button12_Click(object sender, EventArgs e)
        {

            byte[] buf;
            buf[0] = 10;
            serialPort1.Write(buf, 0, 1);

        }



Что я не так делю? помогите пожалуйста разобраться. Может нельзя в обработчике событий так делать?

Автор: SVN74 20.2.2017, 12:30
Попробуйте так:
byte buf[2];
        buf[0] = 10;

Автор: xvr 20.2.2017, 16:46
Код

  byte[] buf = new byte[2];

Автор: master3763 20.2.2017, 18:01
Спасибо за советы. Второй вариант работает на компиляции. Попробую испытать на практике и опишусь. 

Автор: master3763 21.2.2017, 02:26
Спасибо xvr! Все работает! Позвольте только спросить. Что именно вы делаете этой строчкой? могли ли вы описать словами ? 

Автор: xvr 21.2.2017, 09:43
Конструкция byte[] buf; говорит, что buf у вас будет массивом байтов, но память под массив она не выделяет. new byte[2] как раз и выделает память под массив из 2х элементов (хотя вам достаточно будет и одного элемента)


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)