Q правильно преобразуется, а E не понятно как.
в прикрепленном файле содержимое массива Str после выполнения функции.
#include <avr/io.h>
#include <stdio.h>
unsigned char Q=5;
char Str[16];
double E=2.15;
int main(void) //
{
sprintf(Str, "Q=%d E=%2.2f %s",Q, E, "FFF");
__asm__ volatile("nop");
}
Эскизы прикрепленных изображений