Hallo, ich versuche mich gerade am UART meines ATmega162. Den UART habe ich aktiviert, ich kann auch wunderbar einzelne Zeichen ausgeben. Sobald ich aber einen String ausgeben will, wird statt der Zeichen nur 0xFF über die Schnittstelle geschickt. Der Code meiner beiden Ausgaberoutinen: int uart_outb(char co) { loop_until_bit_is_set(UCSR0A, UDRE0); outp(co, UDR0); return 0; } void uart_sendstr(const char *outstr) { register int i=0; while (outstr[i]!=0) { uart_outb(outstr[i]); i++; } } Hat jemand eine Idee, woran das liegen könnte? Danke, Sebastian
Hallo, es hat sich erledigt. Wenn man avr-objcopy mit der Option "-J .text" aufruft, muß man sich nicht wundern, wenn statt eines Strings nur 0xFF ausgegeben wird.... Sebastian
Korrekt wäre -j .text -j .data. Wird erst dann relevant, wenn sich auch in .eeprom noch was befindet, das würde ansonsten überflüssiger- weise auch im ROM landen.
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.