- fchao-Sinus-Wechselrichter AliExpress         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: Wie programmiere ich eine Mutiprozessorkomunikation ü. UART?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    23.07.2005
    Ort
    Ingolstadt
    Alter
    56
    Beiträge
    32

    Wie programmiere ich eine Mutiprozessorkomunikation ü. UART?

    Anzeige

    Praxistest und DIY Projekte
    Hallo Leute!
    Hat einer von euch ein Codebeispiel, wie ich eine Mutiprozessorkomunikation über den UART des mega8 16MHz erstelle?
    Ich habe bis jetzt nichtsdarüber gefunden!

    Viele Grüße und schönen Sonntag
    Helge

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Such mal nach RS485 das ist seriell für mehrere Teilnehmer.
    mfG

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    23.07.2005
    Ort
    Ingolstadt
    Alter
    56
    Beiträge
    32
    O.K. wie RS485 finktioniert ist mir soweit klar, jedenfalls rein HW mäßig. Aber wie mache ich das mit der SW? Wie stelle ich in Bascom den UART ein und setze die Adresse des Controllers, usw.?

    Viele Grüße
    Helge

  4. #4
    Gast
    du könntest auch so ne art matrix aus transistoren bauen, und damit jede tx an jede rx schalten, wenn einer sendet kannst du ihn dann die empfängeradresse senden lassen, damit nur der der es empfangen soll zuhört

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi,
    hast du mehrere Master oder nur einen Master und viele Slaves ?
    Wenn's nur ein Master ist sendet der einfach eine Anfrage mit einer Adresse an alle Chips und nur der, der die richtige Adresse hat antwortet.
    Wenn's mehrere Master sind, dann dürfte es schwierig werden, da man ja Kollisionen vermeiden muß.
    Das Protokoll kannst du dir selber ausdenken..
    Ich würde erst eine Startbdingung festlegen.
    Also ein Byte oder zwei Byte, die den Empfängern sagen
    "hallo, aufwachen, jetzt kommt eine Adresse"
    danach käme die Adresse des Chips.
    Je nach dem wie viele unterschiedliche Sachen der Chip zurückmelden muß, kannst du ihm ja mehrere Adresen geben, auf denen jeweils ein Wert abgelegt ist.

    Es wäre hilfreich, wenn du sagen könntest, was du genau bauen willst..

    Gruß
    Christopher

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    23.07.2005
    Ort
    Ingolstadt
    Alter
    56
    Beiträge
    32
    Hi Christopher,
    ich denke ein Master viele Slaves würden genügen (hoffe ich).
    Also was ich vor habe ist folgendes:
    Ich habe vier Türen, die ich jeweils mit einen Türöffner öffnen möchte. Diese Türöffner sollen über Transpander geschaltet werden (Leser Typ 1 siehe Conrad). Die Auswertung des Keys möchte ich mit einen mega8 machen. Es sollen mind. 256 Keys möglich sein. Deshalb wollte ich die in ein I2C EEPROM abspeichern.
    Desweiteren soll der m8 auch noch Daten von einem Zentralrechner(PC) empfangen können (ein m8 pro Tür). Diese Daten sollen einerseits Befehle zur Transonder HW starten können(an/aus) und auch das I"C EEPROM mit einer neuen Keyliste überschreiben können.
    Ich hatte mit gedacht, das der UART(s) auf Nachricht vom PC warten und eine SW serielle Schittstelle sich mit der Transponder HW unterhält. Ich weiß, das ist für einen Anfänger ein großes Stück.
    Hinzu kommt noch das ich das "Netzwerk" noch weiter aufbauen möchte(nachdem die Türöffnersache funktioniert).
    Das wird ein Projekt werden, wo ich Wechstromzähler((n) mind. 12 über einen optischen Sensor den Stromverbrauch ablesen möchte. Diese Systeme soll dann auch an den Zentralrechner angeschlossen werden.

    Ihr könnt mir auch gerne Ratschläge geben, wie ich das am Besten anpacken kann. Besonders der Sensor bereitet mir noch Kopfschmerzen( soll nichts kosten).

    Viele Grüße
    Helge

  7. #7
    Gast
    Also ich habe mich jetzt ein wenig schlauer gelesen. Nenn ich nun nur ein Master(PC) habe, so müssen alle meine avr's die Slave sein. Nun Frage ich mich, wie ich den Datenempfang richtig einstelle. Ich habe hier was vom Befehl config com 1 Befehl gelesen. Was muß ich jetzt schreiben für 9N1 bei 9600 Baud mit einen 16MHz Quartz? Und wie weiß ich was das die empfangene Adresse für mich ist?
    Und da ich gerade dabei bin, wie richte ich den SW UART ein?

    Viele Grüße
    Helge

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    23.07.2005
    Ort
    Ingolstadt
    Alter
    56
    Beiträge
    32
    Sorry, ich hatte mich mal wieder vergessen einzuloggen!

    Viele Grüße
    Helge

  9. #9
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    Ich habe hier einen guten Artikel über den RS485 Bus gefunden.

    http://www.elektronik-projekt.de unter "Artikel"

    Dort wird auch ein Beispiel für einen Single Master / Multislave Bus softwaremäßig erklärt.

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    23.07.2005
    Ort
    Ingolstadt
    Alter
    56
    Beiträge
    32
    Hi,
    also der Artikel ist nicht schlecht!
    Jetzt weiß ich schon mal wie der Bus aufzubauen ist und wie alles im Prinzip funktioniert. Leider bleibt meine Frage nach Beispiel Code offen. Besonders schwierig scheint mir die Verarbeitung des Frames, also wie mache ich die Checksumme und wie gehe ich mit der unterschiedlichen Datenlänge um? Wieviel Platz kostet sowas?


    Viele Grüße und Danke für den Artikel
    Helge

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad