mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Gerüstprotokoll für RS485-bus


Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle,

ich möchte für ein kleines Projekt eine Kommunikation aufbauen auf dem 
RS485-Bus. Es soll ein Master-Multislaves-Prinzip sein.Die Übertragung 
ist für maxi 10 Teilnehmer ausgedacht und übertragung von 9600 Baud.

hat jemand was ähnliches schon programmiert ? ich würde mich freuen auf 
ein kleines Code  auf dem ich meine Programmierung aufbauen werde.

Danke im voraus.
Karl

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dazu gibt es fertige sachen im netz
ansonst

[startbyte] [länge] [slaveadresse/geräteadresse] [datenbyte(s)] 
[checksumme]

sowas kann man schnell zusammenfrickeln und läuft ausreichend sicher für 
kleine anwendungen

Autor: Rumpelstilzchen Rumpel (rumpelstilz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl schrieb:
> Hallo an alle,
>
> ich möchte für ein kleines Projekt eine Kommunikation aufbauen auf dem
> RS485-Bus. Es soll ein Master-Multislaves-Prinzip sein.Die Übertragung
> ist für maxi 10 Teilnehmer ausgedacht und übertragung von 9600 Baud.
>
> hat jemand was ähnliches schon programmiert ? ich würde mich freuen auf
> ein kleines Code  auf dem ich meine Programmierung aufbauen werde.
>
> Danke im voraus.
> Karl

Such mal nach DMX

bzw -> http://www.digital-enlightenment.de/usbdmx.htm

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi
danke für die ersten hilfestellungen.
aber von wegen fertige sache im Netz , habe ich schon gegooglet und noch 
nichts gesehen.

>Such mal nach DMX

>bzw -> http://www.digital-enlightenment.de/usbdmx.htm

In der Seite, geht es nicht um mein Thema.

ich suche ein kleiner Wind, der mich vorwärts schieben kann. Und ich 
hoffe  ihr könnt mir  das anbieten

thks
Karl

Autor: Rumpelstilzchen Rumpel (rumpelstilz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verstehe zwar nicht warum dich das nicht weiter bringt - aber gut 
ist dann nicht mehr mein Problem.

Nochmals als Tipp: DMX ist RS485

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>  Gerüstprotokoll für RS485-bus
Es gibt nicht den RS485-Bus  :-/

RS485 ist eine Definition für die physikalische Übertragung von 
einzelnen Bits/Bytes. Wie und welche Daten wann und wozu übertragen 
werden, ist in diesem Standard nicht festgelegt...

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Nochmals als Tipp: DMX ist RS485
Es ist eher ein RS422 mit mehreren Empängern.
Denn RS485 zeichnet sich durch die Multimasterfähigkeit aus. Genau das 
gibt es bei DMX aber nicht.

Autor: Zefix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
void sys_protocol_handler(void) {
          unsigned int  tmpgetc;
          unsigned int  tmpstatus;
          unsigned char tmpdata;
   static unsigned char frame_count;

   tmpgetc     = uart_getc();
   tmpdata     = (unsigned char) tmpgetc;
   tmpstatus   = (tmpgetc & 0xFF00);
   if(tmpstatus == UART_NO_DATA) {
      if(ftimer_fidt_elapsed == TRUE) {
         frame_count = 0;
         ftimer_fidt_elapsed = FALSE;
      }
   }
   else {
      ftimer_fidt_reset = TRUE;
      if(frame_count < 5) {
         Frame_RxBuf[frame_count] = tmpdata;
         frame_count++;
      }
      else {
         if(tmpdata == '\n') {
            Frame_RxBuf[frame_count] = tmpdata;
            Frame_RxBuf[frame_count+1] = STRINGEND;
            frame_count = 0;
            fframe_valid = TRUE;
         }
         else {
            frame_count = 0;
         }
      }
   }
}

Autor: Zefix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ISR(TIMER2_OVF_vect) {
   // Communication Protocol Timer/Counter
   if(ftimer_fidt_reset == TRUE) {
      handler_count = INNER_DEAD_TIME;
      ftimer_fidt_reset = FALSE;
   }
   if(handler_count != 0) {
      handler_count--;
   }
   else {
      ftimer_fidt_elapsed = TRUE;
      handler_count = INNER_DEAD_TIME;
}
   }

Autor: Michael Prader (praderbz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl schrieb:

> hat jemand was ähnliches schon programmiert ? ich würde mich freuen auf
> ein kleines Code  auf dem ich meine Programmierung aufbauen werde.

Suche mal in der Codesammlung unter "RS485", da habe ich vor längerer 
Zeit etwas eingestellt (Thema "RS485 Funktionen").

Grüße
Michael

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.