SerialPort: Startbit?

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    SerialPort: Startbit?

    Habe da mal eine Frage, und hoffe sie kann mir jemand "Idiotensicher" erklähren :P

    Und zwar geht es um die SerialPort Communication in VB.NET (genau gesagt 2010 aber das tut ja nichts zur Sache)
    Ich muss damit über einen Standart RS232 mit einem Gerät kommunizieren.
    Dieses benötigt jedoch laut Software-Doku ein "Start-Bit" (Soweit ich weiß zur kallibrierung der Übertragungsfrequenz),
    allerdings kann ich hierfür absolut keine Option im "SerialPort" Steuerelement finden, nur eine für das StopBit (das aber auch vom Gerät benötigt wird)

    desshalb meine Frage:

    wird das Start-Bit einfach so mitgesendet ohne das es in VB erwähnt wird, oder muss ich das irgendwie manuell bewerkstelligen (Alle Bits nach rechts schubsen, wobei ich aber dann kein volles Byte am ende habe)?

    Bitte nicht meckern, in Sachen Hardwareprogrammierung bin ich mal sowasvon neu^^

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Lese doch einfach mal bei Wikipedia, indem du nach Startbit suchst.
    Ich finde dort ist es gut erklärt.
    Wenn du trotzdem noch Fragen hast stelle sie halt nochmal.

    Aber grundsätzlich sollte der Sender das Startbit schon automatisch schicken.
    Irgendwann muss ja die Datenübertragung beginnen.
    Es handelt sich um kein gerät das man einfach so kaufen kann, und demnach existiert online keine Doku.
    Die Doku die ich habe kann/darf ich nicht hochladen. Allerdings steht in der Software Doku auch nichts spezielles, das einzige was mit der Kommunikationsart zutun hat sind diese Zeilen:
    Die Datenübertragung ist festgelegt mit folgenden Parametern:

    1. 9600 Baud, 1 Startbit, 8 bit Daten, 1 Stop-Bit

    2. kein Parity
    @Lightsource: das auf wiki habe ich schon alles gelesen, mich hat das nur iritiert das in der Dokumentation extra das Startbit vermerkt ist. Da bin ich durcheinander gekommen da es ja eigentlich standart mäßig gesendet wird und war mir nun nicht sicher ob VB das automatisch sendet und uns das nur verschweigt^^
    Ein Startbit kannst du nicht durch ein Datenbit ersetzen, da es einen anderen Pegel hat.
    Das Startbit steuert die Synchroniserung (es kennzeichnet die Länge der Datenbits) und deshalb gehe ich davon aus, dass der Controller das immer sendet.

    Ich würde einfach den Praxistest machen.
    Wenn die Daten richtig ankommen, wird das Startbit wohl richtig sein ;)
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Das mit dem Testen ist so ne Sache^^

    ich besitze das Gerät garnicht, und muss für jede Testphase ne ganz schöne Strecke fahren, wesswegen ich es gerne vorher wissen will da ich dort vor Ort auch nicht entwickeln kann.

    Aber wenn jetzt schon 2 Personen sagen das es automatisch gesendet wird, gehe ich einfach mal davon aus und Berichte sobald ich es getestet habe (vor dem Wochenende eher kaum)
    AFAIK (=kurze Google-Suche von ca. 2.3 Minuten) wird IMMER ein Startbit gesendet. Somit entfällt die Notwendigkeit einer Einstellmöglichkeit.

    s: cnx.org/content/m12293/latest/
    Serial communication requires that you specify the following four parameters:
    The baud rate of the transmission
    The number of data bits encoding a character
    The sense of the optional parity bit
    The number of stop bits
    Each transmitted character is packaged in a character frame that consists of a single start bit followed by the data bits, the optional parity bit, and the stop bit or bits. Figure 2 shows a typical character frame encoding the letter m.
    Das Startbit sagt dem Empfänger-Schaltkreis, dass es wieder los geht nach der letzten Übertragung. Um diesen Start sicher zu erkennen, gibt es historisch ein Startbit der Länge 1; 1,5 und 2 (in Einheiten der Dauer der Übertragung eines Bits).
    Ursache hierfür war die unterschiedliche Zeitbasis des Übertragungstakts. Die heutigen Quarze und Schaltkreise sind inzwischen so gut, dass 1 Startbit ausreicht. Wenn Du ein längeres Startbit sendest, gibt es keinerlei Schwierigkeiten.
    Du kannst diese Zeile Deiner Anleitung einfach ignorieren.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!