Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.sci.electronics > #221421 > unrolled thread

Effizientes serielles Protokoll für Arduino?

Started byManuel Reimer <manuel.nulldevice@nurfuerspam.de>
First post2017-01-22 11:57 +0100
Last post2017-01-23 08:12 +0100
Articles 3 on this page of 23 — 11 participants

Back to article view | Back to de.sci.electronics


Contents

  Effizientes serielles Protokoll für Arduino? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-01-22 11:57 +0100
    Re: Effizientes serielles Protokoll für Arduino? Christian Zietz <newsgroup.1001@chz.xyz> - 2017-01-22 12:18 +0100
      Re: Effizientes serielles Protokoll für Arduino? Michael Schwingen <news-1457978346@discworld.dascon.de> - 2017-01-22 11:29 +0000
        Re: Effizientes serielles Protokoll für Arduino? Christian Zietz <newsgroup.1001@chz.xyz> - 2017-01-22 13:25 +0100
        Re: Effizientes serielles Protokoll für Arduino? Hermann Riemann <nospam.gerct08@hermann-riemann.de> - 2017-01-22 14:10 +0100
          Re: Effizientes serielles Protokoll für Arduino? Christian Zietz <newsgroup.1001@chz.xyz> - 2017-01-22 15:00 +0100
            Re: Effizientes serielles Protokoll für Arduino? Hermann Riemann <nospam.gerct08@hermann-riemann.de> - 2017-01-22 15:11 +0100
            Re: Effizientes serielles Protokoll für Arduino? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-01-22 17:13 +0100
            Re: Effizientes serielles Protokoll für Arduino? Michael Schwingen <news-1457978346@discworld.dascon.de> - 2017-01-22 19:40 +0000
              Re: Effizientes serielles Protokoll für Arduino? Michael Schwingen <news-1457978346@discworld.dascon.de> - 2017-01-22 19:47 +0000
          Re: Effizientes serielles Protokoll für Arduino? Michael Schwingen <news-1457978346@discworld.dascon.de> - 2017-01-22 19:32 +0000
    Re: Effizientes serielles Protokoll für Arduino? "MaWin" <me@private.net> - 2017-01-22 12:20 +0100
      Re: Effizientes serielles Protokoll für Arduino? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-01-22 17:07 +0100
        Re: Effizientes serielles Protokoll für Arduino? "MaWin" <me@private.net> - 2017-01-22 19:22 +0100
    Re: Effizientes serielles Protokoll für Arduino? Martin Τrautmann <t-usenet@gmx.net> - 2017-01-22 12:40 +0000
    Re: Effizientes serielles Protokoll für Arduino? Hermann Riemann <nospam.gerct08@hermann-riemann.de> - 2017-01-22 14:04 +0100
    Re: Effizientes serielles Protokoll für Arduino? Ralph Aichinger <ra@pi.h5.or.at> - 2017-01-22 12:32 +0100
      Re: Effizientes serielles Protokoll für Arduino? Hermann Riemann <nospam.gerct08@hermann-riemann.de> - 2017-01-22 15:56 +0100
      Re: Effizientes serielles Protokoll für Arduino? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-01-22 17:14 +0100
    Re: Effizientes serielles Protokoll für Arduino? Holger <me@privacy.org> - 2017-01-22 16:55 +0100
      Re: Effizientes serielles Protokoll für Arduino? Stefan <df9bi@arcor.de> - 2017-01-23 10:24 +0100
        Re: Effizientes serielles Protokoll für Arduino? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2017-01-23 11:20 +0000
    Re: Effizientes serielles Protokoll für Arduino? Edzard Egberts <news@edzeg.net> - 2017-01-23 08:12 +0100

Page 2 of 2 — ← Prev page 1 [2]


#221492

FromStefan <df9bi@arcor.de>
Date2017-01-23 10:24 +0100
Message-ID<o64i48$hoq$1@news.albasani.net>
In reply to#221443
Am 22.01.2017 um 16:55 schrieb Holger:
> Am 22.01.2017 um 11:57 schrieb Manuel Reimer:
>> Hallo,
>>
>> ich brauche ein Protokoll um drei verschiedene Werte zu übertragen.
>>
>> Jeder Wert hat die Länge von einem Byte. Die volle Länge des Bytes wird
>> genutzt. Ich habe also keine "Magic-Values" die ich zum Synchronisieren
>> verwenden könnte.
>>
>> Die Werte kommen nicht immer in der selben Reihenfolge.
>>
>> Es kommt auf Geschwindigkeit an. Es handelt sich um einen Datenstrom der
>> mit möglichst geringem Delay vom PC zum Arduino soll. Ich habe also
>> keinen Platz die Werte erst aufwendig in ein XML oder wasauchimmer zu
>> basteln.
>
> Die einfachste Möglichkeit bestünde darin, ein Byte einfach in zwei
> ASCII-Zeichen zu verwandeln, um sie auf dem Arduino dann wieder ins
> Binäre umzusetzen.

Richtig, so oder so ähnlich würde ich das auch machen, aber irgendwie 
hab ich die Frage des OP noch nicht verstanden. Vieleicht hat der OP die 
Fragestellung selbst nicht verstanden.

Wenn ich 2 Bytes übertragen will, ist es das einfachste, diese in 4 
Hex-Ziffern umzuwandeln und ein <CR> anzuhängen.

Wenn eine Prüfziffer benötigt wird, hat man eben ein Byte oder 2 
Hex-Ziffern mehr.

Vorteil ist dabei, dass man mit einem einfachen Terminalprogramm den 
Datenstrom beobachten kann. Nachteil ist, dass man für 2 Bytes Rohdaten 
5 bzw. mit Prüfziffer 7 Character übertragen muss.



Gruß

Stefan

[toc] | [prev] | [next] | [standalone]


#221501

From"Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de>
Date2017-01-23 11:20 +0000
Message-ID<eem780FtjliU1@mid.individual.net>
In reply to#221492
Stefan <df9bi@arcor.de> wrote:
>Am 22.01.2017 um 16:55 schrieb Holger:
>> Am 22.01.2017 um 11:57 schrieb Manuel Reimer:
>>> Hallo,
>>>
>>> ich brauche ein Protokoll um drei verschiedene Werte zu übertragen.
>>>
>>> Jeder Wert hat die Länge von einem Byte. Die volle Länge des Bytes wird
>>> genutzt. Ich habe also keine "Magic-Values" die ich zum Synchronisieren
>>> verwenden könnte.
>>>
>>> Die Werte kommen nicht immer in der selben Reihenfolge.
>>>
>>> Es kommt auf Geschwindigkeit an. Es handelt sich um einen Datenstrom der
>>> mit möglichst geringem Delay vom PC zum Arduino soll. Ich habe also
>>> keinen Platz die Werte erst aufwendig in ein XML oder wasauchimmer zu
>>> basteln.

Für mich sieht das so aus als ob die verschiedenen Werte Parameter für
z.B. PWM sind, also PWM0:=123. Da böte sich z.B. eine ASCII Codierung
wie 0x[2..4] <high nibble> und 0x5 <low nibble> an. Also für PWM0:=0x4e
die zwei Bytes 0x24 und 0x5e. Der Vorteil läge darin, daß nur ASCII Zeichen
von 0x20..0x5f zum Einsatz kämen und Adresse und Daten leicht zu trennen
sind und man sogar mit einem Terminalprogramm Daten an die Arduinos schicken
könnte.

-- 
Dipl.-Inform(FH) Peter Heitzer, peter.heitzer@rz.uni-regensburg.de

[toc] | [prev] | [next] | [standalone]


#221483

FromEdzard Egberts <news@edzeg.net>
Date2017-01-23 08:12 +0100
Message-ID<o64add$71t$1@news2.open-news-network.org>
In reply to#221421
Manuel Reimer wrote:
> ich brauche ein Protokoll um drei verschiedene Werte zu übertragen.
> Jeder Wert hat die Länge von einem Byte.
> Die Werte kommen nicht immer in der selben Reihenfolge.

> Mein aktueller Plan:
> 
> Ich splitte ein Byte auf 2*4 Bit:
> 
> 8765 4321
>  ^    ^
>  |    '- Nutzdaten
>  '------ Adresse
> 
> Ich brauche also für jedes Byte zwei Bytes und zwei Adressen, kann die
> Werte aber in beliebiger Reihenfolge vom PC zum Arduino senden. Am
> Arduino müsste ich dann den ersten Teil des Bytes cachen und erst wenn
> der zweite Teil kommt kann kombiniert und verarbeitet werden.
> 
> Geht es eleganter/schneller?

Kaum, einen kleinen Verbesserungsvorschlag hätte ich aber doch:

Erstes Byte: [Adresse 1..3] [H-Nibble Daten]
Zweites Byte: [ 0 ] [L-Nibble Daten]

Das erste H-Nibble sagt, welches der drei Datenbytes kommt, das erste
L-Nibble ist ein Daten-Nibble. Das zweite H-Nibble ist immer Null, das
zweite L-Nibble das zweite Daten-Nibble. Das löst das schon
angesprochene Synchronisationsproblem, weil eine eindeutig erkennbare
Struktur vorliegt: auf H-Adresse folgt H-Null. Sobald ein H-Nibble Null
ist, ist das nächste H-Nibble ein Adressnibble - das synchronisiert bei
einem laufenden Datenstrom also fast sofort.

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | de.sci.electronics


csiph-web