www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Serielle Übertragung


Autor: Eder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe ein Problem und zwar soll ich mit einem µC (SPS) das Datum auf
dem Hyperterminal des Computers ausgeben. Die Steuerung
ist über ein serielles Kabel angeschlossen.
Mein Problem ist jetzt, dass ich einen Funktionsblock (Struktur) für
die Uhrzeit habe (1 und 2) und einen für die Übertragung
über die serielle Schnittstelle (3 und 4). Ich hab hier nur die
wichtigsten Passagen des Codes angeführt.
Ich weiß jetzt nicht, wie ich die Uhrzeit in das "SendBuffer" (3)
bekomme damit die Uhrzeit mit h:min:sec übertragen wird
und auch auf dem Hyperterminal korrekt dargestellt wird. Ich kann ja
die Struktur nicht einfach dem SendBuffer übergeben und hoffen das sich
das Hyperterminal die Stunde, Minute und Sekunde herausholt.
Mit einem einzigen Wort geht die Übertragung ja, da hab ich einfach das
Wort dem SendBuffer übergeben.
Vielleicht hat jemand Erfahrung mit Funktionsblöcken und
Hyperterminals.
Vielen herzlichen Dank für Eure Bemühungen. Es sind echt super Leute
hier.

lg
Eder


    1)  RTCSetTime.year = 2006;
        RTCSetTime.month = RTCGetTime.month;
        RTCSetTime.day = RTCGetTime.day;
        RTCSetTime.hour = RTCGetTime.hour;
        RTCSetTime.minute = RTCGetTime.minute;
        RTCSetTime.second = RTCGetTime.second;
        StatusRTCSetTime = RTC_settime(&RTCSetTime);

    2)  StatusRTCGetTime = RTC_gettime(&RTCGetTime);   /* hier hole

                                          ich mir die aktuelle Zeit */

    3)  memcpy(SendBuffer, WriteData1, 8 * sizeof (USINT));

    4)  FrameWriteStruct.buffer = (UDINT) SendBuffer;

Autor: Robert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die Sprache da C ist, würde ich es mit sprintf in einen Puffer
schreiben: (Beispiel für die Sekunden)

sprintf (SendBuffer,"Sekunden: %d\n",RTCGetTime.second);

Hyperterm gibt dann nur aus was du überträgst. Wenn das zyklisch
geschen soll, kannst du noch ein ESC[H("\033[H") als VT100 Home
Sequenz voranstellen.

Autor: Eder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir ist unklar, wo ich die Escpe- Sequenzen anhänge. Kannst du mir da
noch ein Beispiel schreiben?
Vielen Dank für deine Antwort
lg
Term

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann es sein, daß Du in mehreren Threads exakt die selben Fragen
stellst?

  sprintf(SendBuffer,"Sekunden: %d\x1b[0;0H\n", RTCGetTime.second);

Autor: Eder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, da ich mehrere Probleme aufeinmal habe.
Tut mir leid. Is aber sehr wichtig.
Vielen Dank.

lg
Eder

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.