1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Serielle Schnittstelle

  • ssst
  • 20. Oktober 2007 um 15:59
  • Unerledigt
  • ssst
    2
    ssst
    Mitglied
    Punkte
    40
    Beiträge
    6
    • 20. Oktober 2007 um 15:59
    • #1

    Hallo, meine serielle Schnittstelle wird mit den Parametern (2400Baud, 7Datenbits, 2Stoppbits und ungerader Parität) programmiert

    Wenn ich jetzt z.B. 3Fh (0011.1111) verschicken will, wie geht das mit nur 7 Datenbits? Wenn es 8 Datenbits wären, dann würde meine Lösung s aussehen:

    1Startbit(negative flanke, wegen negativer Logik), die 8 Datenbits, 2Stoppbits, 1 positives Paritätsbit( da alles ja ungerade werden soll) . fertig!

    Wie kann ich mir das aber mit 7 Datenbits vorstllen? da bleibt ja imemr 1 übrig???????

    Bitte helft mir, ich bin total verweifelt!

  • Kampi
    27
    Kampi
    Mitglied
    Reaktionen
    193
    Punkte
    7.828
    Beiträge
    1.468
    • 20. Oktober 2007 um 22:22
    • #2

    dann muszt du eben mit einem buffer arbeiten. nehmen wir an du willst bytes verschicken:
    du verschickst die ersten 7 bit, speicherst sie in einen buffer, schickst beim zweiten mal das verbleibende bit (vom ersten byte) + 6 bit des 2ten bytes. beim empfaenger shiftest du das zuvor empfangene im buffer rueber, maskierst das noch verbleibende bit (das du soeben empfangen hast) aus und veroderst mit den 7 bits im buffer. fertig ist dein byte. die neu empfangenen bits kommen wieder in den buffer uswusf. du muszt halt darauf achten dass du beim ersten mal um 1 shiften muszt, beim 2ten mal um 2 und so weiter.

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • ssst
    2
    ssst
    Mitglied
    Punkte
    40
    Beiträge
    6
    • 20. Oktober 2007 um 23:21
    • #3

    Boar, komplizierter gehts wohl nicht^^
    aber danke, ich hatte gehofft es geht einfacher, weil man vllt erst die untersten bits einliest und dann die obersten. Aber da bei den obersten bits eben immer eine 0 steht an 8. Stelle, würde man das ganze trotzdem als die Abgeschickte Zahl sehen. Weist du was ich meine?

    0111.1111 = 111.1111 ?

    Aber auch danke für deine Hilfe, werds versuchen auch so zu lösen!

  • duracell
    5
    duracell
    Mitglied
    Punkte
    220
    Beiträge
    40
    • 23. Oktober 2007 um 01:16
    • #4

    Üblicherweise verwendest du für character-oriented transmission immer 8-bit für die länge der daten, eben um 1 byte auf einmal versenden zu können. die idee mit dem buffer ist zwar möglich, aber wie du selbst sagst, ziemlich aufwendig. andere längen (!=8) werden für bit-oriented transmission verwendet. warum setzt deinen data frame nicht einfach auf 8-bit für daten?

  • ssst
    2
    ssst
    Mitglied
    Punkte
    40
    Beiträge
    6
    • 23. Oktober 2007 um 23:29
    • #5

    war ne Klausuraufgabe von meinem Freund :winking_face:

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung