 , så lösningen blir att lägga de i program minet vilket är ett lite bökit man måste då skriva PSTR("hej\n") för att den ska lägga det i program minnet. Så då tänkte jag skriva ett makro som gör det åt mej, och det fungerar nästan...
 , så lösningen blir att lägga de i program minet vilket är ett lite bökit man måste då skriva PSTR("hej\n") för att den ska lägga det i program minnet. Så då tänkte jag skriva ett makro som gör det åt mej, och det fungerar nästan...Macrot
Kod: Markera allt
#define printf(x,...) {char temp[100];avr_printf(strcpy_P(temp,PSTR(x)),__VA_ARGS__);}
så kommer makrot att ersätta det med
{char temp[100];avr_printf(strcpy_P(temp,PSTR("hej %d\n")),10);}
vilket fungerar ut märkt
Problemet upstår när man bara har med "strängen", delvis exempel printf("hej\n")
så kommer resultatet att bli
{char temp[100];avr_printf(strcpy_P(temp,PSTR("hej\n")),);}
vilket inte går att kompilera på grund av _ , _ som kommer med
 
 Hur löser man detta...
Det borde gå... tycker man...
 
				


