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

Thema: int für I2c - Bus notwendig?

  1. #11
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    35
    Beiträge
    967
    Anzeige

    E-Bike
    @PicNick

    Das hab ich jetzt nicht verstanden, kannst du mir das mal erklären? Danke
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  2. #12
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Es kommt darauf an, welche I2C Peripherie ich habe und welchen Master.

    Im Idealfall:
    Wenn ich am Master einen Hardware-TWI habe, kann ich ihn ja auch als Slave definieren.
    Und dann sendet die Peripherie ganz einfach an den Master, wenn was zu senden ist.

    Geht natürlich NICHT bei z.B. den PCF Port-Expandern.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #13
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.06.2006
    Beiträge
    151
    wenn ich jetzt 2 Mega 32 über I2C verbinde und beide sollen jederzeit Daten senden und empfangen können brauch ich dann einen Master? Brauche ich INT2?

    mfg Axi

  4. #14
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    DIe Mega32 sind die Master. Das Ganze heißt in deinem Fall dann "Multimaster"-System.

    extra interrupt brauchst du da nicht.

    Du kannst Dir da was runterladen.
    http://www.oldformation.at/electronic/download/down.htm

    Das Demo-Programm, das da "m32slave.bas" heißt, ist das, was du brauchst:
    Master UND Slave
    Schau mal rein und frag' dann, wenn du nicht zurechtkommst
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.06.2006
    Beiträge
    151
    ..ich bin noch am planen der Platine(n) für die Mega32, bis ich zur Software komm dauerts noch. Aber danke, wenn ich soweit bin werde ich sicher noch viele Fragen haben.

    mfg Axi

  6. #16
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Ok, also nur festhalten: Für Atmega32 etc. mit HW-TWI brauchst du KEINE Int-Leitung vorzusehen.

    Ich kenn NUR den PCF-Port-Expander, der theoretisch einen Interrupt auslösen kann, wenn sich beim Input was ändert.
    Ich kenn aber keinen, der das verwendet hat.

    Oder ???
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  7. #17
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    20.04.2004
    Ort
    Basel
    Alter
    37
    Beiträge
    378
    So, ich wollt mich jetzt auch mal am I2C versuchen, bis jetzt leider noch ohne erfolg^^ . Aber vllt könnt ihr mir ja weiterhelfen. Hier mal meine codes:

    Master:
    Code:
    $regfile = "m32def.dat"
    
      $crystal = 16000000
      $baud = 9600
      Config Portc = Output
    
      Enable Interrupts
      Enable Int2
    
    
      On Int2 Int2_isr
    Int2_isr:
    
         I2cstart
         I2cwbyte 255
         Portc = 0    
         I2cstop
    
    Dim A As Byte
    Dim I As Byte
    Do                                                          ' Hier beginnt die schleife
    A = 1                                                       'A = 1 (erste LED)
    For I = 63 To 1 Step -1                                     'Alles was zwischen For und NEXT steht wird so lange wiederholz bis I = 7 ist
    
    Portc = A                                                   ' A wird in Portc geladen
    Waitms 200
    A = A + 1                                                   ' A wird Verdoppelt sodass im nächsten durchgang A =2 ist im übernächsten 4 usw..
    
    
    Next                                                        ' Springt wieder zu For! Wenn I = 7 ist gehts im Programm weiter
    Loop                                                        ' Spring wieder zu DO, alles beginnt von vorne, A wird wieder auf 1 gesetzt und durchläuft dann wieder die FOR NEXT schleife 7mal..
    
    End
    Return
    Slave:
    Code:
    $regfile = "m8def.dat"
    
    $crystal = 8000000
    $baud = 9600
    
    Dim Val As Byte
    Config Portd = Output
    
    Portd.6 = 1
    Portd.7 = 1
    Wait 5
    Portd.2 = 0
    
     I2crbyte Val
     If Val = 255 Then
       Portd.7 = 0
       Wait 1
     Else
       Portd.7 = 1
    End If
    Ziel wäre, dass beim Slave nach der I2C kommunikation mit dem Master PD.7 auf 0 Stellt, was er aber bis jetzt nicht macht.

    wo liegt der fehler, bzw. was mach ich falsch?

    gruss
    serge
    Meine neue Roboterhomepage:
    www.roboterwelt.ch.tf <--- Updates folgen

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress