|
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
|
|||||||||||||||||||||
Баг в работе с COM портом08.02.2013, 00:49. Показов 5959. Ответов 38
Метки нет (Все метки)
Доброго времени суток всем, что-то я зачастил сюда
Собственно нашел баг в программе и никак не могу его исправить, как я только не крутил таймауты, не выходит убрать... Собственно ближе к делу...Код открытия порта:
![]() Добавлено через 1 час 1 минуту Он непонятно из-за чего может считать кусками... причем изменение таймаутов почему-то не влияет, а может считать и все верно... Причем последовательности в ошибках нет, каждый раз по разному...
1
|
|||||||||||||||||||||
| 08.02.2013, 00:49 | |
|
Ответы с готовыми решениями:
38
Информация по работе с Com-портом. Ошибка в работе службы с com-портом Общие вопросы по работе с COM-портом |
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|
| 29.11.2013, 17:30 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 32
|
|||||||||||
| 29.11.2013, 17:49 | |||||||||||
|
Сейчас попробую. Если не трудно объяснить мат часть не могу найти описания Terminated.
0
|
|||||||||||
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|||||||
| 29.11.2013, 17:56 | |||||||
1
|
|||||||
|
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 32
|
|
| 29.11.2013, 18:14 | |
|
Synchronize как правильно её вызвать откуда она?
0
|
|
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|
| 02.12.2013, 09:14 | |
|
Димитрий, класс TThread. Я в 9м посте приводил ссылку на другую тему. Обратите внимание на статью Работа с COM-портом с помощью потоков.
1
|
|
|
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 32
|
|
| 02.12.2013, 17:53 | |
|
Я уже разобрался и переписываю свою программу с использования классов.
0
|
|
|
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 32
|
||||||
| 04.12.2013, 18:12 | ||||||
|
Переписал но теперь при активации потока записи в порт возникает ошибка Access violation at address
0
|
||||||
|
91 / 91 / 22
Регистрация: 02.07.2013
Сообщений: 332
|
|
| 04.12.2013, 22:03 | |
|
Локальный буфер char a[2] умирает после выхода из функции. Сделать static или глобальным.
1
|
|
|
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 32
|
||||||
| 05.12.2013, 15:10 | ||||||
|
Попробовал сделать глобальной, а потом переделал так
0
|
||||||
|
91 / 91 / 22
Регистрация: 02.07.2013
Сообщений: 332
|
|
| 05.12.2013, 15:23 | |
|
Про буфер я, конечно, загнул с недосыпу. Что есть bufwr? И как объявлен writer?
0
|
|
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|||
| 05.12.2013, 15:31 | |||
|
1
|
|||
|
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 32
|
|
| 05.12.2013, 15:43 | |
|
#define BUFSIZE 128
unsigned char bufrd[BUFSIZE], bufwr[BUFSIZE]; //приёмный и передающий буферы WriteThread *writer; //объект потока WriteThread Добавлено через 8 минут Resume() есть одна из методов класса TThread
0
|
|
|
91 / 91 / 22
Регистрация: 02.07.2013
Сообщений: 332
|
|
| 05.12.2013, 15:46 | |
|
А writer где-нибудь суспендится? Resume видно, а где Suspend?
1
|
|
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 05.12.2013, 15:52 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 32
|
||||||
| 05.12.2013, 15:57 | ||||||
|
Вот почти вся прога
0
|
||||||
|
91 / 91 / 22
Регистрация: 02.07.2013
Сообщений: 332
|
|
| 05.12.2013, 16:15 | |
|
static char a доступна только внутри if. Фактически в bufwr копируется глабальная char a[2] с каким-то мусором.
1
|
|
|
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 32
|
|
| 05.12.2013, 16:37 | |
|
При отладке делал останов программы на writer->Resume(); и смотрел что в bufwr там всё нормально "2/0/0/..." но следующий шаг и прога вылетает
0
|
|
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
||||||
| 05.12.2013, 16:42 | ||||||
|
Димитрий, поставьте точку на
1
|
||||||
|
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 32
|
||||||
| 05.12.2013, 17:05 | ||||||
|
ReadThread вызывается когда приходит что-нибудь из порта, а пока я не пошлю туда команду от туда будет тишина, и смотреть while(!Terminated) мне пока рано.
Извиняюсь вы говорите о WriteThread::Execute() Сейчас разберусь Добавлено через 14 минут Если честно то я списал вот отсюда, только немножко адаптировал (подсмотрев у других) но все равно насколько знаю о работе портов не вижу криминала.
0
|
||||||
| 05.12.2013, 17:05 | |
|
Ошибка при работе с COM-портом Программа виснет при работе с com-портом Непонятки при работе с ком-портом
Наводки при работе с портом Atmega8515 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|