Считывание веса с машины с помощью порта
Всем Привет,
Я использую этот код для считывания веса с весовой машины.
_serialPort = new SerialPort("COM2", 9600, Parity.None, 8); if (!_serialPort.IsOpen) { _serialPort.Open(); } _serialPort.DataReceived += new SerialDataReceivedEventHandler(_serialPort_DataReceived); txtQty.Text = _serialPort.ReadExisting(); if (_serialPort.IsOpen) { _serialPort.Close(); }
Этот код работает нормально, когда я проверяю его с помощью точки останова. но не работает в exe. Иногда получение этого "доступа к порту 'COM2' отказано"
Как решить эту проблему ?
Sergey Alexandrovich Kryukov
Что такое "работа в exe". Нет такой вещи, как"работа без exe". Ты имеешь в виду, под управлением среды разработки vs отладчик против standalong?
--СА
AmitGajjar
SA, я думаю, что у palraj есть проблема с выпускной версией этого кода. как он уже упоминал, "прекрасно работает с beakpoint", он прекрасно работает в Visual Studio. я вижу только одну проблему-это проблема доступа из брандмауэра. ему нужно добавить 9600 в список разрешений брандмауэра.
OriginalGriff
Вы понимаете, что "9600" в конструкторе Serialport-это скорость передачи данных в Бодах, а не номер порта? И это никак не связано с брандмауэрами?
AmitGajjar
Ой.... к сожалению...
OriginalGriff
:смеяться:
Все совершают ошибки!
palraj001
Да. когда я отлаживаю код, он работает.