-         

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

Thema: 2 ATMEGA8 verbinden?

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    87
    Beiträge
    627

    2 ATMEGA8 verbinden?

    Anzeige

    Hallo,
    ich möchte 2 AT-Mega8 verbinden, um Zahlen auszutauschen.

    was ist die einfachste Möglichkeit - wie würdet ihr es machen?

    - RS232
    - I²C
    - ???

    vielen Dank schon mal,
    Tobias
    ...

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    Die einfachste Lösung ist wohl die per RS232, verwenden würde ich persönlich aber I²C. Falls du zu dem Thema mehr wissen willst, kannst du auch mal im Forum suchen, da gibts ne Menge dazu.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    87
    Beiträge
    627
    danke, dann Suche ich mal nach RS232
    ...

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    87
    Beiträge
    627
    Habe mal wegen I²C gesucht und etwas verstehe ich nicht so ganz:

    Was ist I²C und was ist TWI? gehört das zusammen? im Wiki sind auch mehere Beiträge jeweils zu TWI oder aber auch zu I²C...

    Kann mich da jemand aufklären?

    Tobias
    ...

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.10.2004
    Ort
    Baoding
    Alter
    37
    Beiträge
    687
    I²C wurde von einem Hersteller entwickelt (Phillips) und ist ein Bussystem mit 2 Verbindungen + GnD. TWI ist das Two Wire Interface, was genau das selbe ist wie I²C aber anders heist und damit keine Lizensgebühren verursacht. Also was TWI kann macht auch I²C mit.

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    87
    Beiträge
    627
    das heißt also - das ich ich einen Baustein der I²C unterstützt, an einen TWI Bus anschließen kann?

    Tobias
    ...

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    Ja, das funktioniert. Ist ja auch quasi dasselbe.

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    87
    Beiträge
    627
    Vielen Dank - das hat mir doch schon viel weitergeholfen - nun weiß ich doch, wonach ich suchen muss
    ...

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    09.05.2007
    Beiträge
    202
    Hallo Tobias,

    für den Master kannst du die Bascom-Befehle für I2C nehmen (I2CSend, I2Creceive u. s. w.)

    Beispiele für den Slave findest du in der Wiki. Für die Beispiele musst du aber unbedingt die SDA- und SCL-Pins des ATMega nutzen. Und die Pullup-Widerstände nicht vergessen. Ich habe damit schon einige ATMega8 untereinander verbunden. Und die laufen seit Monaten ohne den kleinsten Fehler.
    Gruß, Stefan

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    87
    Beiträge
    627
    Also im Wiki steht es so:

    Code:
    $regfile = "M32def.dat"                           ' the used chip 
    $crystal = 16000000                               ' frequency used 
    $baud = 9600
    
    Config Scl = Portb.0                              ' Ports fuer IIC-Bus, nicht Standard ! 
    Config Sda = Portb.1
    ' Config I2cdelay = 10                  ' je höher der Wert umso langsamer der Bus 
    
    I2cinit
    
    Const Pcf_write = &H40                            ' Slaveadresse 
    Const Pcf_read = &H41
    
    ' Startausgabe 
    Print
    Print "I2C-Soft Demo mit PCF 8574"
    Print
    
    Do
        I2cstart
        I2cwbyte Pcf_write
        I2cwbyte &HAA
        I2cstop
    
        Print Err                                     ' Err = 0 -> kein Fehler ! 
    
        Waitms 500
    
        I2cstart
        I2cwbyte Pcf_write
        I2cwbyte &H55
        I2cstop
    
        Print Err                                     ' Err = 0 -> kein Fehler ! 
    
        Waitms 500
    
    Loop
    
    End
    Was genau ist die Slaveadresse zum schreiben und lesen?
    Const Pcf_write = &H40 ' Slaveadresse
    Const Pcf_read = &H41

    wofür ist:
    I2cwbyte &HAA / I2cwbyte &H55


    Sind das Bereiche in die ich etwas schreiben kann, welches dann gesendet wird bzw. ein Bereich in dem das empfangene drinn steht?

    Könnte ich da auch eine Variable rein schreiben und versenden?

    Tobias
    ...

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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