Serielle Übertragung

Gast #409776
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;
Gast #409777
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.

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