- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Wie können zwei µC miteinander komunizieren

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    34
    Beiträge
    607
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Wenn es dir nur darum geht, ein einfaches Beispielprogramm zu schreiben, dann braucht man dabei nicht allzuviele C-Kentnisse.
    Als Sender kannst du ja die geposteten Routinen verwenden.
    Als Empfänger schaltest du am Besten den TWI-Interrupt an. Dieser wird aufgerufen, wenn ein TWI-Ereignis aufgetreten ist. Dann wertest du in diesem Interrupt den Ereigniscode aus (im TWSR) und entscheidest, was getan werden soll (Was getan werden kann, steht im Datenblatt, da gibts ganze Tabellen für die Fehlercodes). Das gute an TWI ist, dass der Slave die SCL-Leitung solange auf LOW hält, bis er fertig ist, was dazu führt, dass der Interrupt nicht unbedingt besonders schnell ausgeführt werden muss.
    Im Grunde genommen kann man den Interrupt fast ausschließlich mit if-else Anweisungen schreiben. Übersichtlicher wird es mit einer switch-Anweisung.
    Schreib doch mal auf, wie dein Empfänger auf die einzelnen Ereignisse reagieren soll. Wenn du das nicht schaffst, in C-code zu übersetzten, helfen wir dir auf die Sprünge.

    Gruß, Yaro

  2. #12
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    41
    Beiträge
    4.534
    Blog-Einträge
    1
    @yaro genau soviel zur Theorie, das bekomm ich auch immer hin ich kann mir alles genau vorstellen wie das funktionieren muss. ABER ich
    kann das nicht in C Schreiben. Ich kann die Syntax nicht, ich weis die Kommandos nicht! Es scheitern nicht daran, dass ich nicht weis wie es funktioniert sondern daran dass ich kaum und nur sehr sehr rudimentäre C Kenntnisse diesbezüglich hab.

    Ich weis zwar was dein Beispielprogramm macht, aber nicht wie. Hoffentlich wird nun deutlicher wo mein Problem liegt.

    Mehr als Lampe An, Lampe AUS bische if than else hab ich einfach noch nicht mit nem Mega32 in C gemacht und ich muss gestehen, es macht mir auch keine Freude, aber da meine Projekte nun mal zu komplex für einen µC werden muss irgendwie mehr Leistung und Ports bekommen.

  3. #13
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    41
    Beiträge
    4.534
    Blog-Einträge
    1
    Ist es vielleicht der falsche Weg für mich es in C zu machen und ich sollte es in einer anderen Sprache machen? Ich mein mit Bascom hab ich bisher noch weniger gearbeitet.

  4. #14
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    09.04.2008
    Beiträge
    384
    Den RP6 hat eine functionierende code für Master - Slave ueber I2C, beide Mega32. Das ist in C geschrieben und auch gut documentiert. Kan men downloaden bei www.arexx.com. Diese code wird verwendet beim RP6 basis + erweiterungsplatine M32. Die basis ist dan der Slave und M32 der Master. Da gibt auch eine schone pdf manual dazu. Aber du muss naturlich sich ein bischen einarbeiten in C.

  5. #15
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Hanno, ich glaube nicht.
    Du hast zwei Optionen:
    1. Du nimmst eine fertige Bibliothek und beschränkst dich auf die Verwendung dieser (es gibt einige fertige Bibliotheken). Wenn du diesen Weg einschlägst, bekommst du sicherlich Hilfe wenn du die verwendete Bibliothek angibst.
    2. Du schlägst den interessanteren aber schwereren Weg ein und versuchst das Protokoll selbst zu implementieren. Im Endeffekt besteht ein großteil der Ansteuerung nur darin, Bits zu setzen/löschen, Werte in Register zu schubsen oder aus Registern auszulesen und auszwerten.

    Die größte Schwierigkeit ist nicht, das ganze in C zu "gießen". Die größte Schwierigkeit besteht vermutlich eher in der berücksichtigung der Feinheiten des Protokolls. Und wenn du auf die Implementierung von Corner-Cases wie Multi-Master verzichtest, sollte das relativ einfach sein.

    mfG
    Markus

  6. #16
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    34
    Beiträge
    607
    Wenn du wirklich noch relativ unsicher beim Programmieren bist und nicht vor hast, allzuviel daran zu arbeiten, würde ich dir eher Basic vorschlagen, da gibt es viele vorgefärtigte Routinen, mit denen man schnell kleine Projekte zusammenbauen kann.

    Ich würde aber empfehlen, sich einfach ein bisschen mit C auseinanderzusetzen, sich ein Buch zu holen und es durchzuarbeiten, dann macht das alles auch gleich viel mehr Spass!
    Ich hatte als allererstes Projekt einen Asuro zusammengebaut, konnte aber kaum programmieren und habe gleich den Spass daran verloren, bis ich mir ein Programmierbuch geholt und es durchgearbeitet habe, danach war auf einmal alles viel einfacher, als ich es geglaubt hatte.

    Gruß, Yaro

  7. #17
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    41
    Beiträge
    4.534
    Blog-Einträge
    1
    Zusammen mit uwegw habe ich den TWI Artikel im Wiki getestet und soweit korrigiert und abgeändert, dass er nun funktioniert. Sollte jetzt also für alle die das gleiche Problem haben kein Problem mehr sein. Code funktioniert bei mir jetzt ohne Probleme und ich kann das nächste Code-Problem angehen: wie steuer ich dieses DMF6104N Optrex Display hier an?

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Solar Speicher und Akkus Tests