Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить

Ошибки виртуального COM-порта ST-Link

Пт апр 20, 2018 09:16:29

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