- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: cout nicht deklkariert

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    33
    Beiträge
    522

    cout nicht deklkariert

    Anzeige

    E-Bike
    Hallo,
    ich möchte die Programmierung von AVRs in c++, was ich nur im Zusammenhang mit win32-Systemen kenne, erlernen, komm damit aber irgenwie nicht klar. Wieso klappt z.B. folgendes nicht:
    Code:
    #include <avr\io.h>
    
    int main(void)
    {  
    	cout << "Hallo Welt\n";
    	return 0;
    }
    der Compiler(AVR-GCC) meldet nämlich, dass das Objekt "cout" nicht deklariert ist. Kann mir bitte jemand weiterhelfen?

    MfG Mark

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.11.2004
    Ort
    München
    Alter
    37
    Beiträge
    447
    Hallo,
    Was stellst du dir den vor, was der Prozessor jetzt machen sollte?
    MfG Alex

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    Auf nen AVR gibt es keine Standardausgabe, wo deine Meldung landet, wenn du ncihts anderes einstellst. Du musst dich schon selbst drum kümmern, wie du dein Hallo Welt zu Gesicht bekommst. Wohin hättest du den Text denn gern? auf die serielle Schnittstelle, auf nen LCD, auf einen Drucker, per Funk oder per Ethernet versendet? Der Compiler kann nicht gedankenlesen. Du muss schon ne passende lib für die Ausgabe organisieren und einbinden oder selbst schreiben.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    33
    Beiträge
    522
    Der Text sollte mit dem UART gesendet werden (wie <print "Hallo Welt> in BASCOM)

    Wie schreibt man denn eine lib?

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2006
    Ort
    Biberach
    Alter
    34
    Beiträge
    485
    Hi,
    schau mal hier: http://www.mikrocontroller.net/artic...R-GCC-Tutorial
    Da steht auch wie du etwas per UART senden kannst.
    lib steht für Library, sprich eine Datei die Funktionen enthält. Da kannst du dir dann eine Funktion schreiben die, dein UART initialisiert und eine der du einfach den auszugebenden Text als Parameter übergibst, und diese Funktion den Text dann per UART sendet.

    Achja, wenn du bei C++ 'cout' bzw 'cin' verwenden willst musst du die lib <iostream> einbinden.

    MfG

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    33
    Beiträge
    522
    Hallo coCo,
    die lib <iostream> hab ich nicht gefunden.
    außerdem weiss ich wie man einzelne Zeichen mit dem UART sendet, aber ich möchte eine Funktion haben, die selbst das Umwandeln in einen ASCII-String übernimmt, ohne dass ich eingeben muss, was es für ein Datentyp ist, den ich senden möchte.

    MfG Mark

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von robocat
    Registriert seit
    18.07.2006
    Beiträge
    935
    deine vorstellungen von mikrocontrollern sind seltsam. natürlich findest du keine <iostream> denn es ist nunmal kein PC und besitzt keinen festgelegten iostream. scheinbar möchtest du laufen können, ohne gehen zu müssen. ich würde dir nahelegen, bei visual brainfuck.dot.net zu bleiben. oder einen blick ins datenblatt zu werfen.

    wenn du weisst, wie man einzelne zeichen übermittelt, kannst du die doch fluxx mit einer schleife durchgehen und senden?

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    33
    Beiträge
    522
    meine Vorstellungen von Microcontrollern sind nicht seltsam, das ich sehr wohl weiss was ein AVR hardwaremäßig (nicht) kann. schließlich hab ich bisher auch größere Programme in asm geschrieben, was mir aber mit der Zeit zu aufwändig wurde.

    mein eigentliches problem ist, dass ich nicht weiss, wie man in c++ folgendes realisiert:
    void irgendwas(a)
    {
    anweisung an den compiler: wann a ein float ist, dann f1(float a)
    wenn a ein int ist, dann f2(int a)
    u.s.w.
    }
    Die Funktionen void f1(float a) und void f2(int a) stehen irgendwo im Quelltext

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    AVR-GCC kann mit C++ spezifischen Anweisungen nichts anfangen. Ein AVR ist ein 8-bit-System mit stark eingeschränkem Arbeitsspeicher, das müsstest du doch vom ASM-Programmieren her wissen. C++ Funktionen sind aber alles andere als Arbeitsspeicherschonend. Du wirst von deinem C das ++ weglassen müssen um Erfolg zu haben.

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802

    Re: cout nicht deklkariert

    Zitat Zitat von p_mork
    [...] der Compiler(AVR-GCC) meldet nämlich, dass das Objekt "cout" nicht deklariert ist. Kann mir bitte jemand weiterhelfen?
    avr-gcc bietet keine 100% C++-Unterstützung:

    https://www.roboternetz.de/wissen/in...vr-gcc#C.2B.2B

    Als "Hallo Welt" ist eine Textausgabe schon recht kompliziert. Man fängt vielleicht besser ne Ebene einfacher an, wie in

    https://www.roboternetz.de/wissen/in...LED_blinken%29
    Disclaimer: none. Sue me.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen