- LiFePO4 Speicher Test         
Ergebnis 1 bis 9 von 9

Thema: TWI Anfängerprobleme

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.713
    Zitat Zitat von Natureengeneer Beitrag anzeigen
    OK, weiterprobiert ... so müsste es doch klappen ... für beide den Wert 0 ...
    Sozusagen experimentelle Softwareentwicklung . . .

    Ich kenne Dein dsDingsda nicht, ich will auch nicht DEIN Datenblatt für Dich lesen. Seltsam kommt mir vor, dass Du ab Register Null des Teilchens Deine Daten suchst - stimmt das so? Ich Suche meine Daten in I²C-Satelliten meist an einem bestimmten Registerplatz.

    Code:
    // =================================================================================
    ...
    // ----------------------------------------------------------------------------
    //      Lesen von 6 Registern ab Register 0x02. X, Y, Z-Koordinate
    ...
      ret = i2c_start (I2C_BMA_W); 
      ret = i2c_write (0x02); 
            i2c_stop  (); 
                                    //
       ret = i2c_start (I2C_BMA_R); 
       ret = i2c_read  (ACK); x = (int16_t)ret; 
       ret = i2c_read  (ACK); x = x | ((int16_t)ret << 8); x /= 64; 
    ...
    // ----------------------------------------------------------------------------
    Steht so auch im zitierten Code .
    Ciao sagt der JoeamBerg

  2. #2
    Jetzt hab ichs gerafft!!!

    PHP-Code:
    void ds1621_lesen(void)
    {
        
            
            
    i2c_start(DS1621_Write);
            
    i2c_write(0xAA);
            
    i2c_stop();
            
    i2c_rep_start(DS1621_Read);
            
    TempH i2c_readAck();
            
    TempL i2c_readNak();
            
    i2c_stop();
            
    ret = (TempH TempL /256); // <===Noch nicht gut!
        
        

    Works!

    DANKESCHÖN.
    Geändert von Natureengeneer (26.11.2012 um 11:58 Uhr)

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.713
    ... ret = (TempH * 1 + TempL /256); // <===Noch nicht gut! ...
    Ja, sieht so aus. Es gibt sicher zahllose Beispiele um zwei Bytes zu einem Word zusammenzulöten.
    (M)Eines wäre:

    Code:
    // ============================================================================== =
    // ============================================================================== =
     void I2CTST01 (void)          // I2C-Testroutine
    ...
      uint8_t btst1     =  0;       // Read-back-Byte vom Slave
      uint8_t btst2     =  0;
      uint8_t btst3     =  0;
    ...
        btst2  = i2c_read (ACK);             //
        btst3  = i2c_read (ACK);             // 
    ...
    //#define uniq(LOW,HEIGHT) ((HEIGHT << 8)|LOW)   // ###>>> Macro 2x 8Bit --> 16Bit
      iword         = uniq(btst3, btst4);   // 2à 8Bit --> 16Bit
      itoa(iword, zahlwort, 10);            //
      uart_puts("\tWert für Word4high3low\t");      // Ausgabe
      uart_puts(zahlwort);                  //
    ...
    // ===  Ende I2CTST01 (void)  ============================
    // ============================================================================== =
    Die Makrodefiniton muss halt an irgendeiner Stelle deponiert werden - das ist Deine Freiheit. Ohne Makro gehts natürlich auch.
    Geändert von oberallgeier (26.11.2012 um 17:00 Uhr) Grund: selber gedankenlos
    Ciao sagt der JoeamBerg

Ähnliche Themen

  1. Anfängerprobleme
    Von Patroclus im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 37
    Letzter Beitrag: 13.12.2011, 19:45
  2. Ein paar Anfängerprobleme
    Von ElociNe im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 07.10.2011, 13:38
  3. Anfängerprobleme
    Von LuZ im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 11.03.2008, 14:29
  4. Anfängerprobleme
    Von paul-stanley im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 29.02.2008, 23:03
  5. Welches Kabel für TWI (I2C) verwenden? Hilfe bei TWI Routine
    Von Sauginius im Forum AVR Hardwarethemen
    Antworten: 23
    Letzter Beitrag: 26.07.2004, 13:33

Stichworte

Berechtigungen

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

12V Akku bauen