0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 5
1

Зависает при чтении com порта

05.03.2017, 17:59. Показов 1507. Ответов 3
Метки нет (Все метки)

Привет всем, подскажите, пожалуйста, у меня есть прибор, с которого я считываю данные каждую секунду через ком порт, кроме этого моя программа делает параллельно еще кучу всего интересного, но именно при считывании, все остальное зависает на несколько секунд, натолкните на мысль, что я делаю неправильно, не судите строго, я новичок
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public string ReadThermometrPt100()
        {
            comport.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
            if (!comport.IsOpen)
            {
                comport.Open();
            }
            return sPT100;
        }
        public void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
        {
            int[] b = new int[16];
            for (int i = 0; i < b.Length; i++)
            {
                try
                {
                    b[i] = comport.ReadByte();
                }
                catch(Exception ex)
                {
                  ex.ToString();
                    continue;
                }
            }
            sPT100 = (b[12] - 48).ToString() + (b[13] - 48).ToString() + "," + (b[14] - 48).ToString();
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2017, 17:59
Ответы с готовыми решениями:

Вылет в синий экран при чтении данных из ком-порта
Накидал читалку данных из ком-порта, вроде ничего особенного не делаю, а по истечение минуты...

Бесконечный цикл зависает при прослушивании порта сокетом
Есть программа который создает сокет и начинает слушать определенный порт 127.0.0.1:9988 Проблема в...

Чтение из COM порта, При чтении из порта зависает read()
Каждому рано или поздно приходится программировать com порт. Вот и мой черед пришол. Я ужу умею:...

«Зависает» при чтении com порта
Здравствуйте! Алгоритм программы следующий: «Читать до конца файла» 1.1 Программный reset...

3
Эксперт .NET
5474 / 4244 / 1211
Регистрация: 12.10.2013
Сообщений: 12,248
Записей в блоге: 2
05.03.2017, 18:00 2
Цитата Сообщение от lulik Посмотреть сообщение
натолкните на мысль
Работайте с портом в отдельном потоке, и тогда это никак не повлияет на остальной код.
0
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 5
05.03.2017, 18:03  [ТС] 3
Можно пример??
0
Эксперт .NET
9374 / 5781 / 1374
Регистрация: 25.05.2015
Сообщений: 17,605
Записей в блоге: 14
06.03.2017, 09:27 4
Запуск и отключение потоков по кнопке
Там в теме есть ссылка на репозиторий с исходниками.
Если будет ничего не понятно, читайте Литература по C# для начинающих и не только Шилдта , главы 23-24.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.03.2017, 09:27
Помогаю со студенческими работами здесь

При чтении com порта зависает приложение
Вот эта строка кода вешает всё приложение: textBox1-&gt;Text = serialPort1-&gt;ReadLine(); Если её...

Зависает форма при чтении из порта
Пишу программку, которая читает данные из серийного порта. Но форма повисает, пока чтение не...

Подвисает при чтении COM порта
Доброго времени суток, сделал программу, которая читает данные из COM порта, строка кода которая...

Откуда при чтении из COM-порта берутся 99 байт?
Здравствуйте! Этот отрывок кода взят из рабоче программы, которая работает около 2-х лет и судя по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru