Uruchomiłem FreeRTOS na STM32F4 i wszystko prawie działa, gdyż mam problem z sprint. Mam zadanie, które odczytuje napięcie i natężenie z czujnika, odczyt odbywa się poprawnie, tylko zamiana wartości na tekst by wyświetlić na LCD już nie dział. Wyświetlenie napięcia działa, ale już natężenie nie wyświetla się tylko zawiesza się na sprintf(). Jak widać zmienna current jest float w zakresie -1000.00 mA do 1000.00 mA, natężenia ma mi wyświetlić dwa miejsca po przecinku.
Wygląda to tak:
void INA219_Read_Task(void const * argument)
{
uint16_t voltage = 0;
float current = 0.0;
char buffor_voltage[10];
char buffor_currnet[12];
INA219_init();
for(;;)
{
voltage = INA219_bus_voltage();
sprintf( buffor_voltage, "%d mV", voltage );
BSP_LCD_DisplayStringAtLine(15, (uint8_t *)buffor_voltage);
current = INA219_current();
sprintf( buffor_currnet, "%.2f mA", current ); //tutaj się uC zawiesza
BSP_LCD_DisplayStringAtLine(16, (uint8_t *)buffor_currnet);
osDelay(1000);
}
}
Nie mam pojęcie co mógłbym jeszcze zmienić by to działało.