mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik dsPic: UART Ausgabe über fprintf


Autor: Meike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche verzweifelt auf meinem dsPIC30F2010 eine Ausgabe auf der 
seriellen Schnittstelle über fprintf zustande zu bekommen.

Für den C18 Comopiler gibt es so viele schöne Dokumentationen von 
Microchip selbst. Aber über den C30 finde ich nichts was mir bisher 
weitergeholfen hätte.

Über WriteUART1 bekomme ich bereits eine Ausgabe zustande. Aber wie 
leite ich das weiter auf fprintf? In C18 geschah das über 
fprintf(_H_USART, "...");
Schaue ich aber in der stdio.h vom C30 Compiler nach, dann finde ich 
nichts vergleichbares.
Ich habe es über prinf("..."); versucht. Wie ich es oft bei Google 
gefunden habe. So startet mir aber Ständig der dsPic neu (als ob sich 
das gesamte Programm in einer Schleife befinden würde.


Kann mir jemand helfen?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sprintf() in einen RAM Puffer und den dann ausgeben.

Autor: Meike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Holger,

ich weiß nicht genau was du damit meinst. Könntest du mir ein Beispiel 
nennen?

Viele Grüße
Meike

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum fprintf statt printf?

In Controller-Libs setzt printf üblicherweise eine vom Programmierer zu 
implementierende Ausgabefunktion für eine einzelnes Zeichen voraus.

Autor: Meike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo A.K.,

wie sage ich dem printf welches meine Ausgabefunktion für eine einzelnes 
Zeichen ist?

Viele Grüße
Meike

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sowas steht üblicherweise im Manual der Lib.

Google (c30 printf) weiss auch was und weist darauf hin, dass printf 
schon von Haus aus auf UART1 ausgibt.

Autor: Meike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Antworten.

Dass prinft UART1 ausgeben soll, war mir bewusst. Das Problem ist, dass 
dann mein Controller ständig neu startet. Ich werde zunächst versuchen 
die neuste Version vom C30 Compiler zu installieren.

Viele Grüße

Autor: Meike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ich habe das Problem gefunden.

Unter Project -> Build Options -> MPLAB LINK 30 habe ich den "Heap Size" 
von 200 auf 50 gestellt.
Jetzt geht es.

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.