I2C_EEPROM

Maliyev
Offline
Зарегистрирован: 11.07.2022

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

#include <LiquidCrystal.h>

#include "Wire.h"
#include "I2C_eeprom.h"
LiquidCrystal lcd(12, 13, A0, A1, A2, A3);

I2C_eeprom ee(0x50, I2C_DEVICESIZE_24LC256);

uint32_t start, duration;
int number;
struct measurement{
  float u0;
  float u_end;
  int number;
  long switch_time;
  long test_time;
} ;
measurement m[10];

void setup(){


  m[0].u0 = 12,89;

  lcd.begin (16, 2);
  Serial.begin(9600);
  ee.begin();
  ee.writeBlock(0, (uint8_t *) &m, sizeof(m));
  m[0].u0=0;
  ee.readBlock(0, (uint8_t *) &m, sizeof(m));
  lcd.clear();
  Serial.println (m[0].u0); //выдает 12,00 но должно 12,89
  lcd.print (m[0].u0);
 
}


void loop() {
}

помогите пожалуйста с кодом

b707
Offline
Зарегистрирован: 26.05.2017
m[0].u0 = 12,89;

что это? Это вы так пытались задать float 12.89 ? - неудивительно, что оно у вас возвращается "без знаков после запятой".

 

остальной код не смотрел

 

Maliyev
Offline
Зарегистрирован: 11.07.2022

Ааа... Понятно, спасибо что помогли) я в питоне привык писать дробные числа с запятой а тут надо с точки писать.Спсасибо большое!