Funkcja z liczbami typu int działa poprawnie:
uint8_t pi = (uint8_t)M_PI;
sprintf(tx_buffer, "Value of PI = %d", pi);
DMA_Cmd(DMA1_Stream6, ENABLE);
A na terminalu dostajemy coś takiego:
Value of PI = 3
Natomiast z liczbami typu float działa ale tylko troche:
sprintf(tx_buffer, "Value of PI = %f", M_PI);
DMA_Cmd(DMA1_Stream6, ENABLE);
Na terminalu dostajemy coś takiego:
Value of PI =
Nie widać wartości liczby PI. Komunikacja z terminalem na pewno działa poprawnie.