Fórum | MyPower.CZ | Obnovitelné zdroje energie - energetická soběstačnost | Poslední návštěva: čtv bře 30, 2023 8:59 am
kodl69 píše:já se snažím všchny proměnný udržet jako int nebo unsigned int, procesor to má rychlej spočítaný, a když se to má třeba poslat jako řetězec do rádiovýho modulu, je to jednodušší. Mít víc než 5 platnejch míst je z technickýho hlediska blbina, jako třeba: Měřím výkon tak, že na jednom a/d mám proud, na druhým napětí, tj 10bit rozlišení v optimálním případě, tj 1024 hodnot. Pokud postupuju rozumně, vystačím si s int: P=Iměř*Uměř*koeficient kterej si spočítám bokem podle děličů napětí a výsledek bude třeba vynásobenej 10 nebo 100 aby to pěkně do toho int vyšlo. Hlavně poznámky do kódu, jinak se v tom sám nevyznáš.
A nebo I=Iměř*koefI, U=Uměř*koefU , P=U*I a tady už jsem v koncích, koeficienty jsou třeba 0,01587, takže výsledek je jistě float, a už se v tom vezu, přetypování a další blbiny. Je potřeba strávit pár nocí při bádání nad takovejma věcma co mají fungovat a nefungují, a pak už znovu tu blbost neuděláš.
// funkce pro čtení Integer z EEPROM
int eepromIntRead(int adresa)
{
int hodnota = EEPROM.read(adresa) + ((EEPROM.read(adresa+1)) << 8) ;
return hodnota;
}
// funkce pro zápis Integeru do EEPROM
void eepromIntWrite(int adresa, int hodnota)
{
byte byte1 = hodnota;
byte byte2 = hodnota >> 8;
EEPROM.write(adresa, byte1);
EEPROM.write(adresa + 1, byte2);
}
Uživatelé procházející toto fórum: CC [Bot] a 0 návštevníků