El formato de printf de Atmel no funciona, no funciona el formato

1

Estamos ejecutando un chip AVR32 Atmel en nuestro tablero, y recientemente descubrimos que printf con especificadores de formato / conversión no funciona. Un printf normal funciona.

Por ejemplo,

printf("hello\n"); // works just fine
printf("number: %d\n", 12); // returns -1, nothing prints.

Parece que los especificadores de formato no tienen ningún efecto, printf solo devuelve -1.

Hemos intentado enlazar en diferentes versiones de la familia de funciones vfprintf , por ejemplo. agregando -Wl,-u,vfprintf -lprintf_flt -lm para agregar capacidades de formato de punto flotante (se documenta >q>) ) )> pero no tiene efecto. p>

Tenga en cuenta que NO estamos buscando capacidades de punto flotante, solo estamos tratando de obtener CUALQUIER formato para un decimal regular (int, uint_8, etc.).

Cualquier ayuda muy apreciada.

    
pregunta kalaracey

1 respuesta

2

¿Ha intentado crear un búfer de caracteres, formatearlo y luego imprimirlo?

   char buffer [50];
   int A = 12;
   i = sprintf (buffer, "A: %d \n", A);

   printf(buffer);

También, intente inicializar la variable primero, luego inclúyala dentro del printf.

   int A = 12; 
   printf("number: %d \n", A);
    
respondido por el Silviu Stroe

Lea otras preguntas en las etiquetas