Nrf24l01 при передаче данных с GPS, координаты округляет до двух знаков после запятой

Whitebear
Offline
Зарегистрирован: 14.10.2020

Добрый день.
При передаче gps координат через nrf24l01, идёт округление до двух знаков после запятой. Как сделать чтобы округление было хотя бы до 6 знаков?

sadman41
Offline
Зарегистрирован: 19.10.2016

NRF ничего не округляет, не имеет такой привычки.

Whitebear
Offline
Зарегистрирован: 14.10.2020

Использую
Data[2]
Data[0]=double (координаты Х)
Data[1]=double (координаты У)
И здесь идёт округление

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Может, код приведёте? А то без кода ... хрустальный шар подсказывает, что это не NRF округляет, а Whitebear.

Whitebear
Offline
Зарегистрирован: 14.10.2020
 double  data[2];
  data[0] = double(gps.location.lat());
  data[1] = double(gps.location.lng() );


 radio.write(&data, sizeof(data));


И при выводе в порт и передаче, только два знака

sadman41
Offline
Зарегистрирован: 19.10.2016

А вы что, прямо из радиоэфира читаете два знака после запятой или с экрана?

Whitebear
Offline
Зарегистрирован: 14.10.2020

sadman41 пишет:
А вы что, прямо из радиоэфира читаете два знака после запятой или с экрана?

И там и там, я вывожу на экран, что находится в data0 и data1, и также передаю через nrf24l01 на другую ардуино подключенную к дисплею. Результат один и тот же, два знака после запятой

sadman41
Offline
Зарегистрирован: 19.10.2016

https://www.arduino.cc/reference/en/language/functions/communication/ser...

Serial.print(1.23456, 0) gives "1"

Serial.print(1.23456, 2) gives "1.23"

Serial.print(1.23456, 4) gives "1.2345"

Whitebear
Offline
Зарегистрирован: 14.10.2020

sadman41 пишет:
https://www.arduino.cc/reference/en/language/functions/communication/serial/print/

Serial.print(1.23456, 0) gives "1"

Serial.print(1.23456, 2) gives "1.23"

Serial.print(1.23456, 4) gives "1.2345"

Согласен, только при выводе Serial.print (data[1]), два знака.

sadman41
Offline
Зарегистрирован: 19.10.2016

Бл... Напиши через запятую 6.

Whitebear
Offline
Зарегистрирован: 14.10.2020

Whitebear пишет:
sadman41 пишет:
https://www.arduino.cc/reference/en/language/functions/communication/serial/print/

Serial.print(1.23456, 0) gives "1"

Serial.print(1.23456, 2) gives "1.23"

Serial.print(1.23456, 4) gives "1.2345"

Согласен, только при выводе Serial.print (data[1]), два знака.

Да и вопрос был о том как передать по радио, больше двух знаков после запятой, в порт вывести данных нет проблем

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Whitebear пишет:
Согласен, только при выводе Serial.print (data[1]), два знака.

А так? Для совсем деревянных

Serial.print (data[1],6)

Whitebear
Offline
Зарегистрирован: 14.10.2020

DetSimen пишет:

Whitebear пишет:
Согласен, только при выводе Serial.print (data[1]), два знака.

А так? Для совсем деревянных

Serial.print (data[1],6)

6 пишет, пробовал

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Whitebear пишет:
DetSimen пишет:

Whitebear пишет:
Согласен, только при выводе Serial.print (data[1]), два знака.

А так? Для совсем деревянных

Serial.print (data[1],6)

6 пишет, пробовал

Тогда тебе помочь нельзя. Можно только поплакать. 

Whitebear
Offline
Зарегистрирован: 14.10.2020

DetSimen пишет:

Whitebear пишет:
DetSimen пишет:

Whitebear пишет:
Согласен, только при выводе Serial.print (data[1]), два знака.

А так? Для совсем деревянных

Serial.print (data[1],6)

6 пишет, пробовал

Тогда тебе помочь нельзя. Можно только поплакать. 

Ну если не можешь помочь, может лучше промолчать?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Whitebear пишет:
может лучше промолчать?

В след. раз я так и сделаю.  У меня есть

Разведу, попью, пожалуй. 

Whitebear
Offline
Зарегистрирован: 14.10.2020

DetSimen пишет:

Whitebear пишет:
может лучше промолчать?

В след. раз я так и сделаю.  У меня есть

Разведу, попью, пожалуй. 

Просто научись нормально общаться, без вот этих "ОСОБО ДЕРЕВЯННЫХ " и пр.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Напоследок: Попытайся наморщить сётаки мозг и понять, что тебе никто, кроме Serial.print() ничего не округляет.  Почитай про него.

Whitebear
Offline
Зарегистрирован: 14.10.2020

DetSimen пишет:

Напоследок: Попытайся наморщить сётаки мозг и понять, что тебе никто, кроме Serial.print() ничего не округляет.  Почитай про него.

Хорошо, спасибо за помощь.
Напоследок: меньше желчи и стеба, это песочница, сюда приходят новички за помощью, а не за стебом

b707
Offline
Зарегистрирован: 26.05.2017

Whitebear, реакция коллег вполне понятна. Пока по разговору складывается впечатление, что Вы невероятно тупите.  Настолько, что это это непростительно даже новичку.

Если хотите перевести обсуждение в конструктивное русло - ответьте четко на вопрос -

Как Вы установили, что это именно NRF округляет ваши значения?

Whitebear
Offline
Зарегистрирован: 14.10.2020

Все, всем спасибо вопрос решён

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

b707, коллеги сами виноваты. Я ТС ещё в третьем посте сказал "приведи код". И нефиг было пытаться советовать, пока кода нет. Не полезли бы советовать без кода, не было бы тупизмов - сразу бы сказали в каком именно месте ТС округляет. 

Whitebear
Offline
Зарегистрирован: 14.10.2020

Подскажите ещё, при подключение nrf24l01 к Uno, без адаптера, при соединение GND- тишина, а без все отлично. В этом ничего плохого нет?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Whitebear пишет:
Подскажите ещё, при подключение nrf24l01 к Uno, без адаптера, при соединение GND- тишина, а без все отлично. В этом ничего плохого нет?

должно быть наоборот

b707
Offline
Зарегистрирован: 26.05.2017

Whitebear пишет:
Подскажите ещё, при подключение nrf24l01 к Uno, без адаптера, при соединение GND- тишина, а без все отлично. В этом ничего плохого нет?

выкладывайте схему. а то будет такой же тупизм, как с прошлым вопросом

Whitebear
Offline
Зарегистрирован: 14.10.2020

rkit
Offline
Зарегистрирован: 23.11.2016

В уно double это синоним для float. У float недостаточно размера. Работай в целочисленном формате.