mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC C18 C-Compiler Problem


Autor: MAx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

mein problem:

beim GCC für den AVR funktionierten folgende aufrufe für meine
USART-Senderoutine usart_puts problemlos:

...

unsigned char string={"Hallo"};

usart_puts("Hallo");
usart_puts(string);

...

hier der code der USART-Senderoutine für einen String

void usart_puts(unsigned char *pointer)
{
     while(*pointer != 0){
        usart_putc(*pointer++);
     }
}

jedoch der C18 Compiler für den PIC hat hier probleme mit dem
usart_puts("Hallo") aufruf, ich musste den prototype auf void
usart_puts(const rom unsigned char *pointer) abändern damit dies wieder
funktionierte. Also brauche ich 2 verschiedne routinen
(usart_puts(unsigned char *pointer) und usart_puts(const rom unsigned
char *pointer)) was etwas lästig ist, da ich sonst den AVR Code nicht
umschreiben müsste. kann mir jemand vielleicht einen tip gebe, wie ich
das mit nur einer routine realisieren kann?

Danke und schöne grüße,
Max

Autor: dds5 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei den PIC18 Prozessoren wird RAM (*pointer) völlig anders angesprochen
als FLASH ("String").
Da wird wohl kein Weg daran vorbeiführen, zwei unterschiedliche
Routinen zu verwenden.

Dieter

Autor: Carsten Steiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wenn du deine konstanten Strings wie "Hallo" auch in einer
Stringvariablen ablegst?

Carsten

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.