|
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 4
|
|||||||||||
Зависание программы считывания данных с DHT2220.11.2014, 13:49. Показов 4655. Ответов 7
Метки нет (Все метки)
Всем доброго дня.
Имеется ардуино с датчиком DHT22, которая шлет данные с датчика по последовательному порту. Стояла задача, написать программу для ПК, которая выводила бы эти данные с датчика на экран. Программа писалась на Visual Studio C# 2010 и это моя первая не "учебная" программа) Программа работает и показывает данные как и предполагалось, но через некоторое время зависает 0_0 В чем заключается моя ошибка? Код программы:
0
|
|||||||||||
| 20.11.2014, 13:49 | |
|
Ответы с готовыми решениями:
7
Считывания данных с com-port! Зависание программы Зависание программы |
|
|
||
| 20.11.2014, 14:48 | ||
|
Включите параллельно вашей программе монитор порта и посмотрите, приходят ли данные от устройства после того, как программа зависла.
0
|
||
|
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 4
|
||
| 20.11.2014, 15:53 [ТС] | ||
|
При попытке запустить сторонний монитор порта, пишет что порт занят. Сам же Visual studio в "выводе" во время теста пишет такие сообщения "Поток '<Без имени>' (0x888) завершился с кодом 0 (0x0).", (три восьмерки не постоянны, числа все время меняются). Когда программа зависает, она не просто перестает обновлять данные, она именно зависает - перестает реагировать на что либо и закрывается только диспетчиром задач.
0
|
||
|
|
|
| 20.11.2014, 16:02 | |
|
Yuki007, формат приходящих данных известен (количество приходящих данных)? Может, имеет смысл вынести чтение в отдельные поток с ожиданием наличия данных в приемном буфере порта (проверяется через свойство SerialPort.BytesToRead) и чтение только при наличии данных (или выход по таймауту, если данных нет).
0
|
|
|
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 4
|
||
| 20.11.2014, 16:30 [ТС] | ||
|
А можете подсказать как это сделать, а то я впервые пишу такую программу...
0
|
||
|
|
||
| 20.11.2014, 16:43 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 4
|
||
| 23.11.2014, 20:10 [ТС] | ||
|
Тип данныйх - строка, размер принимаемых данных 4 байта, интервал поступления данных 0.5 герца (раз в две секунды), скорость порта 9600 бод. Дополнение по зависанию, программа перестает реагировать управление, но еще некоторое время обновляет данные с датчика (но окно уже зависло). Пример данных с порта: "<LF>Humidity: 34.50 %<HT>Temperature: 26.30 *C <CR> [len=41] <LF>Humidity: 34.10 %<HT>Temperature: 26.40 *C <CR> [len=41]"
0
|
||
|
|
||||||
| 23.11.2014, 20:49 | ||||||
|
Yuki007, как я понял вашу задачу, вам необходимо просто прослушивать порт, без записи в него данных?
Тогда примерно вот так. Как вы понимаете, вашего устройства у меня нет, поэтому писал только примерно. Подкорректируйте под свои цели.
0
|
||||||
| 23.11.2014, 20:49 | |
|
Помогаю со студенческими работами здесь
8
Зависание программы/потока Код для считывания данных курса валют Зависание программы при загрузке данных из БД Постепенное выполнение программы/зависание программы при выполнении Написать функции для считывания данных о выбранных сущностях из базы данных SQLite Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|