Цитата(VadimNic_nt @ Oct 24 2014, 17:28)

Может кто-нибудь поделиться ссылкой на библиотеку для работы с навигационным модулем ublox UC530M, заточенную для работы с stm32f103xx?
Написал собственный модуль, но столкнулся с тем, что иногда не проходит инициализация этих модулей ожидаемым образом и перестает работать парсинг
NMEA сообщений.
Мне кажется, такой библиотеки нет. Каждый пишет сам под себя. Возможно, следует лучше порыться в собственном коде и раскопать, что же не работает.
У меня есть некоторое устройство на STM32F103, к которому подключен модуль Navilock NL-552ETTL. Через UART, естественно. Он также выдает NMEA сообщения, которые анализируются в итоге с помощью sscanf(). Все написано мной. Код сильно завязан на мою рабочую библиотеку, поэтому он вряд ли сможет быть перенесен в ваш проект. Однако некоторые идеи я могу привести.
1. USART принимает по прерыванию и складывает все в быстрый буфер FIFO.
2. Некий синхронный процесс выбирает байты из FIFO и формирует строки; признак конца строки - <LF>.
3. Как только этот процесс собрал цельную строку воедино, он вызывает функцию, которая вычленяет параметры NMEA функцией sscanf() с правильно сформированной строкой формата. Конкретно меня интересует токен $GPRMC:
#define NMEA_GPRMC_FORMAT_STRING "$GPRMC,%f,%c,%f,%c,%f,%c,%*f,%*f,%d"
Из него я беру координаты и дату со временем. Это, собственно, и все.