Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2018, 15:45   #1
ддимочка
Пользователь
 
Регистрация: 30.08.2011
Сообщений: 26
По умолчанию Ошибка из-за COM-порта

Всем привет!!!! Вот столкнулся с интересной проблемой, с которой за всю свою практику никогда не встречался. Есть отладочная плата STM32F303 Discovery. На ней крутится программа сбора данных с температурных датчиков и АЦП, но не суть. Так вот, кто с этой платой работал, тот знает, что при подключении её к ПК встроенный программатор ST-Link создает виртуальный COM-порт, через который можно и с программой общаться, и прошивку заливать. Для приема данных на ПК у меня была написана программа в C++ Builder и все худо-бедно работало. Потом я решил переписать интерфейс в wxDev-C++. Вначале вроде как все заработало, но потом при попытках передать данные через COM-порт стала вываливаться ошибка "Ваша программа вызвала нарушение доступа к памяти. Ошибка сигментации". Но данная ошибка выскакивала не всегда и я решил на некоторое время забить и отладить саму программу. Для отладки создал в программке VSPE сплиттер, источником данных для которого стал мой виртуальный COM-порт от ST-Link. И стал работать уже с новым COM-портом, созданным VSPE. Ни одной ошибки не вывалилось за все время отладки. Как только перешел к работе с ST-Link портом напрямую, опять посыпались ошибки. Может кто еще сталкивался с такой бодягой. Прям мир перевернулся. Одни и те же функции работы с COM-портом в одном случае вызывают ошибку, в другом - не вызывают.
ддимочка вне форума Ответить с цитированием
Старый 23.04.2018, 16:32   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Магия... на самом деле - нет. Скорее всего, просто не учитываете тайминги, задержки, настройки порта и т.д. Вот и пытаетесь работать с данными, которых еще нет. А сплиттер забуферизировал и что-нибудь подобное.
p51x на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сниффер COM-порта или программное создание виртуального COM-порта Oleg_Ponomaryov Общие вопросы C/C++ 4 12.06.2015 09:28
сниффер com порта dmitriegorovih Общие вопросы Delphi 13 09.05.2013 20:53
тестирование com-порта kosstil Помощь студентам 1 31.03.2010 09:13
Настройка COM порта zombi Win Api 1 05.11.2008 19:02
Как получить данные с COM-порта или другого любого порта? DeLure Общие вопросы C/C++ 5 20.09.2007 00:50