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

Thema: RNBFRA-CO als I2C Slave

  1. #21
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Anzeige

    Praxistest und DIY Projekte
    Ja, da ist ein Durcheinander.
    Hol' dir von da die aktuellste Version
    http://www.oldformation.at/electronic/download/down.htm
    "MyI2C.ZIP"
    Das ist recht ähnlich, aber eben nicht gleich.
    das ist das Slave-Programm das 2313.bas als Muster

    Du hast recht, Mytwi.lib ist schon vom Namen her ein Schmarrn gewesen.

    Sowohl für das RNSI2C als auch für dieses 2313.bas verwend' ich nun endgültig:

    MYI2C.BAS bzw. MYI2C.LIB




    Code:
       Do
             Loadadr I2c_flag , Z
             Gosub I2c_get_addr                       ' I2C Adresse read
             Select Case I2c_addr
             Case Co1_adr:
                Loadadr I2c_flag , Z
                Gosub I2c_slave_rx_data           ' daten empfangen bis Stop/Rep
                Sent_flag = 1
                '------------------------------------
                ' DA1
                '------------------------------------
    
             Case Co1_adrr:
                '------------------------------------
                ' DA2
                '------------------------------------
    
                Loadadr I2c_flag , Z
                Gosub I2c_slave_tx_byte               ' daten senden bis NAK
    
             Case Else
                I2cinit
                '------------------------------------
                ' DA3
                '------------------------------------
             End Select
       Loop

    DA2 is am sichersten, da hast du alle Zeit der Welt.
    DA1 hast du Zeit, wenn kein Stop, sondern gleich wieder ein Start gekommen ist.



    SOwohl für den RNSI2C.bas als auch für 2313.bas sollte der Master eine Schleife machen

    Code:
       DO
         I2CSTART 
         I2CWByte    adresse 
         IF ERR = 0 THEN 
                I2CWBYTE    daten
                I2CWBYTE    daten
                I2CWBYTE    daten
                I2CWBYTE    daten
                I2CWBYTE    daten
         else
                WAITMS 20     '(in etwa) 
         END IF
         I2CSTOP
    
       LOOP UNTIL ERR = 0
    Dann kann eigentlich so oder so nix passieren
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  2. #22
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    Merci

    Merci vielmals,

    ich mach mich an die Arbeit!


    Gruß Dirk

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

Solar Speicher und Akkus Tests