Почему мы объявляем постоянные значения широты и долготы

статическая константа double LONDON_LAT = 51,508131, LONDON_LON = -0,128002;

Что это значит?

https://github.com/mikalhart/TinyGPSPlus/blob/master/examples /FullExample/FullExample.ino

Приведенная выше ссылка содержит полный пример программы этой строки.

Эта строка из библиотеки tinygps++ для извлечения координат и отображения в виде таблицы. Я использую Arduino Uno, модуль GSM и модуль GPS для извлечения координат и передачи их в виде сообщения. Кто-нибудь может объяснить, что означает это постоянное значение и почему мы его используем?

, 👍0

Обсуждение

В отличие от фильмов, я вряд ли думаю, что Лондон когда-нибудь сдвинется с места., @Kwasmich

Это постоянное значение есть в полной программе-примере tinygps++, и я не знаю об этом постоянном значении? Вы знаете какой-то точный ответ? Также какой тип алгоритма используется здесь для всей программы. Я новичок в ардуино, и поэтому я просто хочу знать об этом. Используется ли какой-либо конкретный алгоритм для извлечения точных координат GPS с помощью модуля GPS и Arduino?, @tharrun kumar

Это GPS-координаты Лондона. Если вы хотите узнать точное местоположение, погуглите координаты. В вашем комментарии у вас есть еще вопросы о примерной программе, но вы никогда не включали программу в свой вопрос и не ссылались на нее. Как мы должны ответить на ваш вопрос? Мы не знаем, о каком скетче вы говорите, поэтому мы не можем знать, как эта строка связана с остальной частью программы., @chrisl

Мы объявляем их, потому что программа, в которой они объявлены, хочет каким-то образом использовать эту информацию. Не зная, что представляет собой программа, мы не можем сказать, зачем ей нужна эта информация. Может быть, он хочет выяснить, как далеко вы находитесь от Лондона., @Majenko

https://github.com/mikalhart/TinyGPSPlus/blob/master/examples/FullExample/FullExample.ino, @tharrun kumar

Эта ссылка содержит полную программу. Извините, что прикрепляю ссылку, так как программа слишком длинная., @tharrun kumar

В настоящее время я работаю над проектом, в котором координаты моего местоположения должны быть отправлены в виде сообщения с использованием модуля GSM. Координаты GPS извлекаются с помощью модуля GPS. Они подключены к плате arduino uno. Для этого проекта используется библиотека Tinygps и tinygps++. Эта программа представляет собой полный пример программы, которая по умолчанию используется в библиотеке tinygps++., @tharrun kumar

Пожалуйста, добавьте всю эту информацию и вопросы в текст исходного вопроса, а не в комментарии. Они временные, и, пожалуйста, не нужно читать полный поток комментариев, чтобы получить необходимую информацию., @chrisl

Если вы хотите, чтобы мы дали вам подробное объяснение каждой строки кода программы, на которую вы ссылаетесь, вы находитесь не в том месте. Этот сайт предназначен для конкретных, целенаправленных вопросов. Если вы изучали эту программу и у вас есть **конкретный** вопрос, задайте его и включите соответствующие элементы в сам вопрос. См. [Как задать хороший вопрос?] (https://arduino.stackexchange.com/help/how-to-ask)., @Edgar Bonet

На самом деле я просил конкретную строку, которая была упомянута первой. статическая константа double LONDON_LAT = 51,508131, LONDON_LON = -0,128002;, @tharrun kumar

@Kwasmich lol ... это пример кода ... он написан с использованием правильных соглашений о программировании ... он должен быть ясным, чтобы большинство людей сразу знали, что делать, чтобы изменить код для своих нужд ... используя описательный имена переменных облегчают чтение кода, и код требует меньше комментариев ... если бы константы использовались напрямую, то ОП, вероятно, спросил бы: «Что это за 51.508131?», @jsotola

@tharrunkumar представьте, что вы пишете программу, которая вычисляет длину окружности и площадь круга на основе ввода параметра радиуса .... что было бы понятнее для чтения? ... c = r * 2 * 3,14159 a = r ^ 2 * 3,1459 ... или ... pi = 3,14159 circ = 2 * радиус * pi площадь = радиус ^ 2 * pi , @jsotola


2 ответа


0

Рекомендуется объявлять переменные максимально строго. Поэтому, если вы не собираетесь изменять значение LONDON_LAT во время выполнения, объявите его как const.

Это позволяет компилятору предупредить вас, если ваш код попытается изменить его, и часто позволяет компилятору оптимизировать код.

,

2

Статические переменные выделяются в хранилище только один раз за время существования программы. Ключевое слово const указывает, что значение переменной является постоянным, и сообщает компилятору, что программист не может изменить его, и вы не можете изменить значение константной переменной. и я думаю, вы знаете, что double — это тип данных, который может сохранять числа с плавающей запятой. в этой строке объявляются две переменные с именами LONDON_LAT и LONDON_LON, и обе они находятся в одной строке и поскольку широта и долгота Лондона не меняются, используется ключевое слово const

также я думаю, поскольку эти переменные являются константами, вы можете использовать #define, посетите https://www.arduino.cc/reference/en/language/structure/further-syntax/define/

,