Αρχικό μήνυμα από
thanospr
Πως μπορω να μετατρεψω εναν float σε string για να το εμφανισω στην LCD;Η sprintf() δεν δουλευει.Μου βγαζει ενα ? αντι για τον αριθμο
Κώδικας:
U8 Volt = 4.25;
lcd_setcursor(1,1);
sprintf(smdisplay,"%d",(U8)volt); //Τυπώνεις το ακέραιο κομμάτι
lcd_string(smdisplay); //Εμφανιση στην οθόνη
lcd_string("."); //Υποδιαστολή
U8 V = (volt - (U8)volt)*100; //ΜΕΤΑΤΡΟΠΗ των δύο ψηφίων μετά την υποδιαστολή σε ακέραιο
sprintf(smdisplay,"%d",V); //
lcd_string(smdisplay); //Εμφανιση στην οθόνη
lcd_string(" Volts");
_delay_ms(500);
lcd_clear();
U8 σημαίνει unsigned int 8 bit. Η sprintf λειτουργεί απλά για τους uE όχι 100%, νομίζω HEX και intiger τυπωνει καλά