Hallo, ich versuche gerade die "AVR323 - Interfacing GSM modems" von Atmel für den GCC anzupassen. in der AVR323 für IAR: void COM_putsf( const unsigned char __flash *fstr ) { for( ;*fstr != '\0'; ) { COM_putchar( *fstr++ ); } } Meine version für GCC: void COM_putsf( const unsigned char *fstr ) { while ( pgm_read_byte(&fstr) != '\0') { COM_putchar( pgm_read_byte(fstr++) ); } } es passt auch fast... hier ausschnitt aus dem terminal ATE0<CR><LF> <NUL>AT+CNMI=1,1,,,1<CR><LF> <NUL>AT+CPMS="ME","ME","ME"<CR><LF> <NUL>AT+CMGD=<NUL>AT+CMGR=<NUL>AT+CMGS=<NUL><CR><LF> <NUL>OK<CR><LF> <NUL>+CMTI: <NUL>> <NUL><CR><LF> ich bin beschäftige mich jetzt auch erst seit einem jahr mit den avrs, deshalb dacht ich lieber etwas umschreiben. Könnte mir bitte jemand einen tip geben? danke fürs reinschauen ;)
while ( pgm_read_byte(&fstr) != '\0') Das "&" vor fstr ist falsch. fstr ist bereits eine Adresse auf deinen String.
ging ja schnell, danke für die Hilfe. bringt mich weiter... ;)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.