Nie znam aż tak dobrze C na poziomie OS, ale na pewno zły typ dobrałeś do danych. Powinien to być float, aby była zmiennoprzecinkowość, ale nadal na 32-bitach standardowo dla gcc, więc oszczędnie cd ...
Należy także wspomnieć że producenci mikrokontrolerów dostarczają przeróżne biblioteki napisane przede wszystkim w C, choć zapewne w C++ także się znajdą, a nawet optymalizują mikrokontrolery do ...