Написание кода на Си для GPS-трекера

Здесь все вопросы по языку программирования С
fire89
Сообщения: 48
Зарегистрирован: 20 окт 2013, 20:44

Re: Написание кода на Си для GPS-трекера

Сообщение fire89 » 04 авг 2014, 00:34

Вот мне и не удается делать с ними все, что мне хочется)

$GPRMC,183904.030,V,5542.91576,N,03741.59564,E,0.0,0.0,030714,,,N*73
Данная строка отправляется с приемника в порт UDR0 раз в секунду.
Как мне ее вытащить из буфера раз в минуту?

Аватара пользователя
gurvinok
Сообщения: 1473
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Написание кода на Си для GPS-трекера

Сообщение gurvinok » 04 авг 2014, 13:58

Код: Выделить всё

uint8_t arrey_data[256];
uint8_t index = IndexNumber();
if(index) OutBufferStr(arrey_data, index);
Вот и все. Как только приемник наталкает данные в UART0 index стнет больше 0, выполнится условие и данные запишутся в массив arrey_data. Ну а дальше раз в минуту пользуйся данными из этого массива.
Если долго мучиться, может быть получится.

fire89
Сообщения: 48
Зарегистрирован: 20 окт 2013, 20:44

Re: Написание кода на Си для GPS-трекера

Сообщение fire89 » 05 авг 2014, 00:31

Теперь в консоль что-то более похожее выводит. Но эта строка вся в непонятных цифрах.
Проект выложил в архиве.
Вложения
proba_avr.rar
(20.74 КБ) 400 скачиваний

Аватара пользователя
gurvinok
Сообщения: 1473
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Написание кода на Си для GPS-трекера

Сообщение gurvinok » 05 авг 2014, 10:53

Код: Выделить всё

UDR1=(index);
index++;
:shock:

Может все же так:

Код: Выделить всё

while(1)
	{
	 arrey_data[64];
    char counter = 0; //Переменная счетчик
	 uint8_t	index=IndexNumber();
		
	 if(index) OutBufferStr(arrey_data,index);
	 {
               while(counter >= 64)
		UDR1=(arrey_data[counter]);
		counter++;
	 }
    counter = 0; // Обнуляем для следующей отправки, хотя это излишне если мы переменную объявили в теле while(1)
	 }
А то как-то один индекс выводить не комильфо. :D
Если долго мучиться, может быть получится.

fire89
Сообщения: 48
Зарегистрирован: 20 окт 2013, 20:44

Re: Написание кода на Си для GPS-трекера

Сообщение fire89 » 05 авг 2014, 21:37

Ура!!!!! Заработало :) :) :)
Спасибо огромное за помощь!

Вот только в начале или в конце символы бывают дублируются,примерно раз в 10 сек.
Это наверно из-за внешнего кварца(2Mhz). Надо фьюзы настроить на 16MHz/
Вложения
proba_avr.rar
(21.13 КБ) 404 скачивания
Последний раз редактировалось fire89 06 авг 2014, 23:47, всего редактировалось 1 раз.

Аватара пользователя
gurvinok
Сообщения: 1473
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Написание кода на Си для GPS-трекера

Сообщение gurvinok » 05 авг 2014, 23:58

Под UART лучше кварц который можно разделить на битрейт нацело. Например 3,6864 МГц и так далее. Процент ошибок будет 0.
Если долго мучиться, может быть получится.

fire89
Сообщения: 48
Зарегистрирован: 20 окт 2013, 20:44

Re: Написание кода на Си для GPS-трекера

Сообщение fire89 » 07 сен 2014, 21:54

Здравствуйте!
Нашел статью: http://kumatoz.ru/sozdanie-sajtov/vyvod ... u-yandeks/
Удалось загрузить яндекс карты,вывести трек в формате gpx.

Таким образом у него хранятся координаторы в формате.gpx: http://kumatoz.ru/wp-content/articles/gpxtrack/3941.gpx
Как можно организовать,чтоб трекер отправлял и сохранял в этом файле координаты.
Пример:
<trkpt lat="52.56707961" lon="39.59589718">
если мой трекер умеет отправлять только эту сроку: $GPRMC,193901.010,V,5542.91576,N,03741.59564,E,0.0,0.0,060714,,,N*70
и точна стоит после четвертого знака 5542.91576,N,03741.59564

Аватара пользователя
gurvinok
Сообщения: 1473
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Написание кода на Си для GPS-трекера

Сообщение gurvinok » 07 окт 2014, 09:08

Так если точность добить нулями? А и к стати у яндекса по моему координаты как-то по другому передаются. В гугле широта и долгота, а в яндексе. Я честно не подскажу. В географии я полный прафан. Два дня настраивал спутниковую антенну и до сих пор не понимаю что такое азимут :roll:
Если долго мучиться, может быть получится.

fire89
Сообщения: 48
Зарегистрирован: 20 окт 2013, 20:44

Re: Написание кода на Си для GPS-трекера

Сообщение fire89 » 08 окт 2014, 00:00

Я как-то плотно занимался спутниковыми антеннами и приемниками.
Если интересно, можно создать тему,расскажу то-что знаю.

Аватара пользователя
gurvinok
Сообщения: 1473
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Написание кода на Си для GPS-трекера

Сообщение gurvinok » 08 окт 2014, 08:03

Это лучше не тему создавать, а статейку написать. Описать к примеру модули- приемники. Простую схемку для подключения. Описать нюансы такие как например с Симкомом по питанию и передачи данных, если такие есть. Пару основных команд, например получение координат. Вот это было бы здорово. Может и я че нить интересное сваял. :)
Если долго мучиться, может быть получится.

Ответить