AVR GCC a scanf

Jakub Ladman ladmanj@volny.cz
Středa Květen 7 12:17:24 CEST 2008


http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html#g5507d0e1bbfd387fbb2ffcfd8f5dca6f

JL
Dne Tuesday 06 of May 2008 16:19:31 Richard Kaliciak napsal(a):
> Dobry den,
>
> chcem sa opytat tych, co pouzivaju AVR-GCC (WinAVR), ci je
> implementovana funkcia sscanf a ci funguje, pripadne kde robim chybu.
> Mam takyto priklad:
>
> // needed for use of PSTR below
> #include <avr/pgmspace.h>
> #include <stdio.h>
> #include <stdlib.h>
>
> char PROGMEM fmt[] = "%f";
>
> int main( void ){
> 	char buffer[20] = {"1.25"};
> 	float flFaktor = 0.0;
> 	int result;
>
> 	result = sscanf( buffer, "%f", &flFaktor );
> 	flFaktor = 1.0;
> 	result = sscanf_P( buffer, fmt, &flFaktor );
> 	flFaktor = 2.0;
> 	flFaktor = atof( buffer );
> 	flFaktor = 3.0;
> 	result = sscanf_P( buffer, PSTR( "%f" ), &flFaktor );
> 	flFaktor = 4.0;
> 	flFaktor = strtod( buffer, (char**)NULL );
>
> 	return 0;
> }
>
> Je to prelozene s "gcc version 4.2.2 (WinAVR 20071221)" v AVR studiu, s
> vypnutou optimalizaciou, aby som videl vysledky:
>
> avr-gcc.exe  -mmcu=atmega128 -Wall -gdwarf-2 -std=gnu99 -O0
> -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP
> -MT test-float.o -MF dep/test-float.o.d  -c  ../test-float.c
>
> Ked ten program v simulatore krokujem, tak atof a strtod funguju
> (flFaktor=1.25), ale sscanf tu hodnotu nemeni.
>
> Poradi niekto?
> Pripadne to vyskusajte u seba, ci vam to funguje.
>
> Richard Kaliciak
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list





Další informace o konferenci Hw-list