- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 30 von 30

Thema: komunikation über I2C

  1. #21
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Alter
    43
    Beiträge
    170
    Anzeige

    E-Bike
    Hi,

    also ich hab wirklich großes Interesse daran, hab allerdings noch keine Ahnung wie das mit den Registern gehen soll - hab auch noch fast nix mit Bascom gemacht, das werd ich die Tage mal probieren.

    Aber ich denke nicht nurich wäre dir dankbar, sondern auch viele andere - man liest im Forum ja immer wieder etwas über das Thema.

    Artikel können da geschrieben werden:
    https://www.roboternetz.de/phpBB2/artikeluebersicht.php
    (dann der Link ganz unten)
    Ist ja wie ein normaler Forenbeitrag.

    Anderer Vorschlag:
    Kannst das auch mal in einem neuen Thema starten, ich les mir das durch und versuch es nachzuvolziehen, da ich ein Anfänger bin werd ich über so ziemlich alles mögliche stolpern, dann können wir darüber diskutieren und wenn alle unklarheiten beseitigt sind, kannst du den fertigen Artikel dann posten

  2. #22
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    35
    Beiträge
    967
    @rapo : HER DAMIT =) wenn du nur mal ein kurzen blick in die suchfunktion wirfst und nach dem thema hier suchst, wirst du merken, wie gross das interesse daran ist!!
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  3. #23
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.04.2005
    Ort
    Aarau
    Alter
    41
    Beiträge
    982
    @Blood: wen du die Slave Lib vin MCS verwendest must du nichts von registern verstehen... verstehe auch nix davon
    bei aktivitäten auf dem I2C bus werden einfach die entsprechenden ISR Rutinen aufgerufen...
    hier mal ein kleiner code wie ich es gemacht habe um 2 bytes im slave zu empfangen... ich hoffe man versteht es...

    Code:
    'die variable empfangen wird auf 2 bytes definiert wenn mehrere bytes empfangen werden sollen muss diese entsprechend erhöt werden...
    Dim Empfangen(2) As Byte
    Dim Index As Byte
    
    'Hier wird die adresse für den Slave gesetzt
    Config Twislave = &H70 , Btr = 1 , Bitrate = 100000
    
    
    Enable Interrupts
    
    Do
      nop
    Loop
    End
    
    Twi_stop_rstart_received:
    'Master hat Stop oder restard gesendet
    Return
    
    Twi_addressed_goread:
    'wir wurden adressiert und master will daten lesen
    Return
    
    Twi_addressed_gowrite:
      'wir wurden vom master adressiert und der master will bytes senden
      'variable index auf 0 setzen
      Index = 0
    Return
    
    Twi_gotdata:
       Incr Index
       'Index wird bei jedem empfangenen byte erhöt empfangen(1) enthält das erste byte empfangen(2) das zweite byte
       Empfangen(index) = Twi
       'twi enthält das momentan empfangene byte
    Return
    
    Twi_master_needs_byte:
    
    Return
    
    
    Twi_master_need_nomore_byte:
    
    Return

  4. #24
    mm warum nimst du nich tden canbus her ich wollte auch erst meine mcu's über I2C kommuniziren lassen aber das is nicht so die gute idee das bringt nur bugs mit sich - das fuchst mich wie sonst noch was.

    das master slave prob hab i so gelöst, mit nem interrupt der slave sendet nen interrupt wenn der slave daten für den master hat.
    Selbst ist der Coder unter Linux \/

    HP: www.tuxempire.de

  5. #25
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.08.2004
    Ort
    Potsdam
    Beiträge
    190
    hmm... ich hab mal mit dem Gedanken gespielt einen Interrupt zu nutzen, dessen Routine ein Datenwort im Takt der SCL-Leitung nach links schieben bzw, rotieren und den jeweiligen Zustand der SDA-Leitung in das LSB eintragen lässt.

  6. #26
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Alter
    43
    Beiträge
    170
    Also ich kann kein CAN benutzen, weil der andere Mikrocontroller das nicht kann :/

  7. #27
    jo es gibt doch dafür can controller! wie mcp2515 und der tranciver mcp2551
    der kommt an den spi bus ran.
    für paranelen gibt es den SJA1000 (philips)

    viel spaß
    Selbst ist der Coder unter Linux \/

    HP: www.tuxempire.de

  8. #28
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Alter
    43
    Beiträge
    170
    @Bluesmash

    Dieses Label gibts doch gar nicht in der LIB, oder - jedenfalls find ich nix darüber:

    Code:
    Twi_addressed_gowrite:
      'wir wurden vom master adressiert und der master will bytes senden
      'variable index auf 0 setzen
      Index = 0
    Return
    Irgendwie rätselhaft ist mir das ganze aber schon noch - kommt vielleicht noch.
    Irgendwie ist mir nicht klar, wie ich auf der Slave-Seite unterscheiden kann, ob ich jetzt mit der LESE- oder SCHREIB-Adresse addressiert wurde.

    @tuxilein:
    ich hab am anderen Mikroncontroller auch kein SPI oder so - und da ich wenigstens schon was über I2C geschickt hab und es auch angekommen ist, bleib ich bei I2C

  9. #29
    @BlooD,

    verstehe ich würde ich auch machen, wenn schon mal was geht.

    Und bei zwei MCU's is das kein prob nur i habe mehr MCU's und brauch für fas für jeden einen i2c!
    Selbst ist der Coder unter Linux \/

    HP: www.tuxempire.de

  10. #30
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.04.2005
    Ort
    Aarau
    Alter
    41
    Beiträge
    982
    @Blood: ich sende vom master aus: I2csend 10 , Daten(1) , 2
    damit wird im slave mit der adresse 10 als erstes die Twi_addressed_gowrite: ISR aufgerufen da der slave adressiert wurde und der master daten senden will danach werden die daten in der Twi_gotdata: die daten in der Twi variable bereitgestellt...

    ich hoffe das hilft dir weiter... gruss bluesmash

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

LiFePO4 Speicher Test