Forum: Mikrocontroller und Digitale Elektronik Serielle Übertragung


von Eder (Gast)


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;

von Robert (Gast)


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.

von Eder (Gast)


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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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

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

von Eder (Gast)


Lesenswert?

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

lg
Eder

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.