-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: i2c-slave adresse vergeben

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    29
    Beiträge
    1.099

    i2c-slave adresse vergeben

    Anzeige

    hallo

    wie kann ich einem Atmega 8 eine adresse zu teilen die ich dann als Slave benutzten kann??

    gruß
    patrick

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    15.07.2004
    Alter
    38
    Beiträge
    196
    einfach die adresse ins twar schreiben !?

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    29
    Beiträge
    1.099
    hhmmm..........wie geht das?

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.12.2004
    Alter
    64
    Beiträge
    277
    Zitat Zitat von tristate
    einfach die adresse ins twar schreiben !?
    Im Prinzip ja, sprach Radio Eriwan, aber wie das mit Radio Eriwan so ist... .

    Um die AVRs unter Bascom als Slave nutzen zu können, braucht man zunächst die Add-On Library, die sowohl Soft- als auch Hardware Slavebetrieb unterstützt.

    Für Hardware TWI sieht die initialisierung dann z.B. so aus:

    Config Twislave = &H70 , Btr = 1 , Bitrate = 400000

    Beispiele finden sich auf der MCS Seite, in der Hilfe und auch auf meinen Seiten.

    Grüße
    Henrik

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    29
    Beiträge
    1.099
    glaube ich habe mich verlesen, was ist den genau eine library

    gruß
    patrick

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.12.2004
    Alter
    64
    Beiträge
    277
    Zitat Zitat von patti16
    glaube ich habe mich verlesen, was ist den genau eine library
    Das ist eine Bibliothek, ein Modul, schlagmichtot... welches entweder bei Bedarf vom Compiler automatisch eingebunden wird (wie die I2C-Slave Library), oder händisch am Anfang des Codes mit $lib "name.lib" eingefügt wird. In beiden Fällen muss diese Datei im LIB Verzeichnis von Bascom stehen.

    Die hier erwähnt Bibliothek muss zusätzlich bei MCS käuflich erworben werden.

    Wie ich dieser Frage meine entnehmen zu können, hast Du noch kaum Erfahrung mit dem Programmieren. Da ist das Slavehandling unter Bascom evtl. nicht gerade die beste Idee um Erfahrungen zu sammeln. Es erfordert einiges an Vertrautheit mit dem I2C-Protokoll. Also erst mal TWI/I2C auswendig rauf und runter büffeln.

    In Assembler geht das auch anders, einfacher wird die Sache aber nicht, ganz im Gegenteil.

    Grüße
    Henrik

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    29
    Beiträge
    1.099
    ich werde mich dann wahrscheinlich dann auf spi spezalieseren habe auch gemerkt das twi sehr langsam ist.

    danke für die antworten

    gruß
    patrick

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    15.07.2004
    Alter
    38
    Beiträge
    196
    na ich weiss ja nicht was du an daten senden/emfangen willst aber 400khz is ja wohl nicht gerade langsam...
    mfg

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    29
    Beiträge
    1.099
    ist aber langsamer als spi habe ich erfahren und wenn man will kann man ja auch mal bestimmt beides nutzen wie ich das vorhabe wegen dem ds1621


    gruß
    patrick

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Kommt drauf an, was man haben will...

    Die 400kHz beim IIC ist die Frequenz von SCL. Um ein Byte zu senden ist man dann bei maximal 50kHz. Für 1 Byte vom Slave abzufragen kann man 4 Bytes Transfer rechnen.
    SlaveAdresse - DatenAdresse - SlaveAdresse - Datum
    Wobei das günstiger wird, wenn man mehrere Bytes abfragt. Damit ist man bei rund 12 kb/s bzw 80µs pro Transfer.

    Mit SPI kommt SCK mit 8MHz rüber bei 16MHz MCU-Takt. AVR als SPI-Sklave verkraftet aber leider nicht so viel, da wären es nur 4MHz. Das wär gegenüber IIC schon mal Faktor 10.

    Wobei die Software im SPI-Sklaven fix genug sein muss, sonst verpasst man was. Beim IIC mit TWI kann das nicht passieren, weil der Sklave den Bus bremsen darf via SCL-Stretch.
    Disclaimer: none. Sue me.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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