- 12V Akku mit 280 Ah bauen         
Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 49

Thema: TWI-slave ohne lib

  1. #31
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Es braucht dazu nur 2 Widerstände um die Leitungen mit 'nem Pullup zu versehen. ansonsten mind. drei Kabel um zwei I2C Bauteile miteinander zu verbinden.

  2. #32
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,

    zum Thema TWI habe ich wieder eine Seite gebaut:
    https://www.roboternetz.de/wissen/index.php/TWI_Praxis

    Darin enthalten sind erstmal nur die Grundkommunikationsarten, an einem der folgenden Wochenenden wird das wieder erweitert.

  3. #33
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    36
    Beiträge
    1.101
    also klappt das jetzt reintheoretisch nur mit dem chip den du da hast ?

  4. #34
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Warum theoretisch ?
    Bei mir gehts auch praktisch,
    ich hab einen Mega 32 und einen Mega8 zusammengehängt,
    geht in beide Richtungen, also egal wer der Slave/Master ist.

    Wenns mehr als 2 Teilnehmer werden sollen, muss man nur auf die Slaveadressen achten, damit da schon keine doppelt ist, gibt ansonsten keine Probleme.

    Verwenden kann man das mit allen AVR Megas die TWI haben:
    http://www.atmel.com/dyn/products/pa...&Direction=ASC

    Wenn man die Codeschnipsel von dieser Seite richtig zusammenbringt, kann man alle möglichen kombinationnen der I2C-Kommunikation damit in einem Programm machen:
    https://www.roboternetz.de/wissen/index.php/TWI_Praxis
    So wie die Programme auf der Seite jetzt sind, kann man nur das machen wie's dort dabei steht.

  5. #35
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    36
    Beiträge
    1.101
    ja das ist schon klar wollte das nur nochmal hören ok

    gut gut werde das dann auch mal probieren

  6. #36
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    36
    Beiträge
    1.101
    hallo

    praktisch könnte man bei dem master dann doch das input y weg lassen und es würde doch trotzdem klappen oder?

    und wie sieht das aus dem Slave könnte ich da öfters Twdr und INCR schreiben nur mit anderen buchstaben die dann andere zahlen ausgibt müsste doch klappen oder muss man das anders hinschreiben?

    etwa so
    Twdr = C
    Twdr = D
    Twdr = E ' neue Daten ausgeben
    Incr E
    Incr D
    Incr C



    oder so




    i2cinit
    i2cstart
    i2cwbyte(slaveid)
    i2cwbyte(wert1)
    i2cwbyte(wert2)
    i2cstop

    gruß
    patrick

  7. #37
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Du kannst immer nur ein Byte senden, wenn das TWDR ein paar mal hintereiander beschrieben wird, stört das zwar nicht, wird aber deshalb noch nicht übertragen, erst wenn man im TWCR das Bit setzt, wird ein Byte gesendet, dann muss man warten auf den nächsten Status, dann kann das nächste Byte kommen.
    Man kann sich da also eine schleife bauen, die man beliebieg oft wiederholen kann um ein Byte zu senden, aber nur solange der Status nach jedem einzelnen Byte stimmt.

  8. #38
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    36
    Beiträge
    1.101
    hmmmmm............ haste ein beispiel wie sone schleife aussehen könnte mir würde im moment nur so was einfallen:


    Twdr = E
    Incr E

    waitms 10

    twdr = d
    incr d

    meinste sowas?

    stehe im moment etwas auf dem schlauch

    gruß
    patrick

  9. #39
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Da schleift noch nix !

    Schleife hab ich grad keine da.

    So wie Du oben mit den i2c-befehlen gemacht hast sollte es für den Master gehen.

    Und wait gehört da auf keine Fall hin, denn das Blockiert dann den ganzen Bus für die Zeit ! [-X

    Und wie gesagt, wenn man nur ein paarmal hintereinander ins TWDR schreibt passiert sonst noch nix, es wird so nix versendet!
    Damit der Wert in TWDR auch raus geht muss in TWCR das Bit TWINT gesetzt werden, und dann wieder warten bis es wirklich draussen ist, dann Status abfragen, usw.

  10. #40
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    36
    Beiträge
    1.101
    ok mal sehen wie ich das hin bekomme wenn nicht melde ich mich nochmal.

    gruß
    patrick

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test