cout für Mikrocontroller

Gast #3280116
Lesenswert?

Hallo Forum,

wie kann ich die "cout"-Funktion auf meinen Mikrocontroller (PIC16F1459)
umschreiben?
Ich habe von einem Bekannten ein Programm bekommen das dem Labor PC auch 
schon läuft. Auf dem Mikrocontroller tut sich aber bisher nix.
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <iostream>
4
using namespace std;
5
 
6
int main()
7
{
8
    while(true)   
9
    {
10
      cout << "Hallo Katha!" << endl; 
11
    }
12
}

Viele Grüße,
Katha K.
Gast #3280154
Lesenswert?

Hallo Michael,

danke, wenn ich die cout Zeile gegen das printf ersetze klapps auch auf 
dem Labor PC, hab ich gerade ausprobiert. Auf dem Mikrocontroller testes 
ich es gleich noch.

Für was steht den eigentlich printf? also print ist mir noch klar, aber 
das f? file? format? oder ?
Gast #3280199
Lesenswert?

Hallo Katha,

also nun etwas genauer. du musst im Compilerhandbuch nachschauen was die 
Standardausgabeschnittstelle vom Pic ist. Wenn es die serielle 
Schnittstelle ist muss diese zu allererst initialisiert werden. Dies 
steht im Datenblatt zum Mikrocontroller. Anschliessend funktioniert die 
Ausgabe mit printf.

LG,
Michael
Gast #3280445
Lesenswert?

Katha K. schrieb:
> wie kann ich die "cout"-Funktion auf meinen Mikrocontroller (PIC16F1459)
> umschreiben?

garnicht.

Entweder du hast für deinen µC einen C++ Compiler oder du hast kein 
cout.
Und wenn du einen C++ Compiler hast, dann mußt du in jedem Falle die 
eigentliche Ausgabefunktion selbst beisteuern. Aber dazu mußt du in die 
Doku der Toolchain schauen, wo und wie das zu bewerkstelligen ist. Per 
default landet all solch Zeugs nämlich meistens in einer leeren Routine 
und deine Texte kommen nirgendwo raus.

Mein Rat: gewöhn dir an, einen µC nicht so zu sehen wie deinen PC. Die 
Unterschiede sind ja doch erheblich. Auf deinem µC solltest du dir ein 
paar eigene Basis-Funktionen schaffen wie z.B.
char Char_Out(char c);
oder so ähnlich - und auf diese Basisfunktionen baust du dann den Rest 
auf, also String_Out oder Dezi_Out oder HexB_Out und so weiter. Dann 
kannst du auf den ganzen Kram verzichten, wie er an deinem PC üblich ist 
und auf dem µC schwer oder garnicht zu haben ist. Obendrein weiß man als 
µC Programmierer üblicherweise schon im Voraus, was man da eigentlich 
für Ausgaben haben will und kann all den Kram, den man grad nicht 
braucht getrost weglassen. Es sei denn, du bist scharf drauf, den 
Codespeicher des µC mit unnützem Zeugs vollzumüllen.

W.S.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren