Forum: Compiler & IDEs Merkwürdiges String-Problem


von Sebastian Voitzsch (Gast)


Lesenswert?

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

von Sebastian Voitzsch (Gast)


Lesenswert?

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

von Joerg Wunsch (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.