mikroC PRO for AVR - která knihovna obsahuje funkci ftoa?

Zdravím
Která knihovna obsahuje funkci ftoa? potřebuji to na převod AD převodníku pro příklad z mikroC PRO for AVR díky

:arrow_right: administrator: přejmenováno z "Funkce ftoa vs mikroC PRO for AVR"

V MikroC asi žádná.
Použij sprintf().

Zdravím
Funkci sprintf(). to taky asi neumí :open_mouth: díky

Každej překladač má nějakou verzi printf. Najdi si ji v manuálu překladače, taky tam určitě bude hlavičkovej soubor, kterej je k tomu potřeba.

Navíc pokud máš proměnnou ve float a potřebuješ jen omezenej počet desetinných míst, dá se to obejít.
Řešili jsme to ještě včera.
viewtopic.php?t=2113&postdays=0&postorder=asc&start=0

No jo je tam toto PrintOut ale když dám příklad na tuto funkci tak překladač furt řve ze ho nezná ani nevím ve které knihovně to je protože ten příklad nepopisuje jakou knihovnu tam mám dát
příklad z


//Print mikroElektronika example's header file to UART.

void PrintHandler(char c){

  UART1_Write(c);

}

void main(){
  UART1_Init(9600);
  Delay_ms(100);

  PrintOut(PrintHandler, "/*\r\n"
                         " * Project name:\r\n"
                         "     PrintOutExample (Sample usage of PrintOut() function)\r\n"
                         " * Copyright:\r\n"
                         "     (c) MikroElektronika, 2006.\r\n"
                         " * Revision History:\r\n"
                         "     20060710:\r\n"
                         "       - Initial release\r\n"
                         " * Description:\r\n"
                         "     Simple demonstration on usage of the PrintOut() function\r\n"
                         " * Test configuration:\r\n"
                         "     MCU:             ATmega1280\r\n"
                         "     Dev.Board:       BigAVR2\r\n"
                         "     Oscillator:      XT, %10.3fMHz\r\n"
                         "     Ext. Modules:    None.\r\n"
                         "     SW:              mikroC PRO for AVR\r\n"
                         " * NOTES:\r\n"
                         "     None.\r\n"
                         " */\r\n", Get_Fosc_kHz()/1000.);

}

díky

je to sice divné, ale i když MikroC má knihovnu stdlib - v ní by měla být ta fce ftoa - je v ní jen atof, ale převod z float na string je v knihovně Conversions a jmenuje se FloatToStr :slight_smile:

ještě divnější ale je, že má knihovny pro kde -co(graf. displej, RS485…) ale nemá knihovnu stdio :question: :question: :question:

Máš v tom důkladný zmatek.

Příklad je evidentně pro MikroC pro PIC, jak je vidět tady:
mikroe.com/esupport/index.ph … 2&nav=0,62
Nestačí přepsat v nějakém stringu “PIC” na “AVR”.

Příklad pro Avr najdeš v adresáři “mikroC for AVR\Examples\Development systems\Bigavr6\UART1”

no zmatek v tom je -ale určitě ne melounův- já v tom kódu čtu zřetelně MCU: ATmega1280 a mikroC PRO for AVR - ale je pravdou, že podle manuálu žádnou fci PrintOut neobsahuje - zato k mému překvapení obsahuje fci sprintf v knihovně Sprint - kterou ovšem marně hledám v samotném compilleru - patrně daň za free verzi.

To co čteš je jenom zpráva, která se má vyslat po UART.
V původním kódu je tam PIC. Podívej se na můj odkaz.
V nápovědě pro mikroC pro AVR je tento zajímavý text:

Patrně Slovinský humor :laughing:

O funkci sprintf se píše tady:
elektroworld.info/modules.php?name=Forums&file=viewtopic&t=42562