Сделал спидометр, получающий скорость с GPS-модуля NEO-6MV2 купленном на али.
Пытаюсь отключить лишние сообщения в GPS-модуле. Через u-center все получается настроить, но есть проблема. Часов через 6-8 простоя без питания настройки модуля сбрасываются в настройки по-умолчанию. Решил настраивать модуль программно при включении микроконтроллера. Нашел пример настроечных команд. Пробую их передавать по UART на скорости 9600, но настройки модуля не меняются. С помощью u-center проверяю каждую попытку настроек через UART. Не могу понять, что я делаю не так. Возможно контрольные суммы неверные в командах настроек. Программирую на "С" в CodeVision AVR. Вот настроечные команды, которые я использую:
Код: Выделить всё
unsigned char ublox_init[] = {
// Disable NMEA
0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x24, // GxGGA off
0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x2B, // GxGLL off
0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x32, // GxGSA off
0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x39, // GxGSV off
0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x04,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x40, // GxRMC off
// Rate
0xB5,0x62,0x06,0x08,0x06,0x00,0xC8,0x00,0x01,0x00,0x01,0x00,0xDE,0x6A //(5Hz)
}
Код: Выделить всё
for (a1=0;a1<94;a1++)
{
c = ublox_init[a1];
putchar( c );
}
Знающие люди, помогите пожалуйста победить в борьбе с модулем.
Полный листинг программы прилагаю.
