ciao
un piccolo problema di cui ho già letto alcuni post, che tuttavia non mi hanno risolto il problema
Ho una funzione di calcolo che mi restituisce
...float AMP = 0;
...
AMP = sqrt((float)currentAcc / (float)numSamples) * (50 / 1024.0) ;
return (AMP);
sono AMPERE, e il valore stampato è per es. "2,34"
Il mio scopo è effettuare un arrotondamento allo 0,05. Quindi i decimali devono assumere valori tipo 0,05; 0,10; 0,15....; 0,95... (tenendo conto che la troncatura a due cifre la eseguo in fase di stampa).
concettualmente è semplice: x = x * 20 -> poi ricavi l'intero x = int (x) --> e infine x = x /20
usando da poco arduino, non conosco bene ancora questi trucchetti e quello che ho provano non funziona, mi riporta sempre 0,00 (con valori intorno a 0,13-0,16).
quindi se io scrivo per esempio (come ho fatto)
AMP = float ( int (AMP*20) /20);
non funziona.
chi mi da una mano?