Даже в нынешней сборке (0.0.8) её авторы положили очень древнюю версию xprintf от 2014 года. Но эту ситуацию можно исправить:
- Качаем последнюю версию от 2021 года непосредственно с сайта ChaN-а, заменяем файлы в своём проекте.
- В файлах uart_lib выкидываем все переопределения xputc и меняем их, скажем, на
C:
uart_lib.c:
void __attribute__((weak)) output_func(int chr)
{
UART_WriteByte(UART_0, chr);
UART_WaitTransmission(UART_0);
}
uart_lib.h:
void __attribute__((weak)) output_func(int chr);
Так и хочется спросить, а почему работу с UART-ом до сих пор не добавили в HAL?! Как все делают.
- Где-нибудь в начале main-а делаем переопределение функции вывода:
C:
xdev_out(output_func);
- Открываем xprintf.h и расставляем в нём дефайны в зависимости от желаемого функционала.
- После чего радуемся возможности полноценно выводить float-ы.