mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SBC65EC mit LM75 Sensor


Autor: gibata (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Ich versuche seit 1 Woche einen LM75 Temp. Sensor an einen SBC65EC von 
Modtronix zum laufen zu bekommen, leider ohne erfolg. Vieleicht ist ja 
hier jemand der bereits damit Erfahrung hat und mir helfen kann.

Ich verwende die letzte FW und HW Version.

Folgendes habe Ich in der mxwebsrvr.c stehen btemp1 und 2 sind vom Typ 
unsigned char:
i2cOpen(I2C_MASTER, I2C_SLEW_OFF, 400000);
while(1)
    {
        aliveCntrMain = 38;     //Reset if not services in 52.42ms x 38 = 2 seconds

        //Blink SYSTEM LED every second.
        if (appcfgGetc(APPCFG_SYSFLAGS) & APPCFG_SYSFLAGS_BLINKB6) {
            //Configure RB6 as output, and blink it every 500ms
            if ( TickGetDiff8bit(t) >= ((TICK8)TICKS_PER_SECOND / (TICK8)2) )
            {
                t = TickGet8bit();
                
                //If B6 is configured as input, change to output
                if (appcfgGetc(APPCFG_TRISB) & 0x40) {
                    appcfgPutc(APPCFG_TRISB, appcfgGetc(APPCFG_TRISB) & 0b10111111);
                }
          
                TRISB_RB6 = 0;
                LATB6 ^= 1;     //Toggle
                
                //Toggle IOR5E LED, if IOR5E is present
                if (appcfgGetc(APPCFG_XBRD_TYPE) == XBRD_TYPE_IOR5E) {
                    ior5eLatchData.bits.ledPWR ^= 1;    // Toggle
                }

            }
      
        }
    // Read LM75 Temperature
    if ( TickGetDiff8bit(tc) >= 2500 )
        {
      i2cWaitForIdle(); 

      i2cPutStartAndWait();         // begin I2C communications
        i2cPutByte( 0x90 );   // addresses the chip
      i2cPutByte( 0x00 );   // write register address
        i2cPutStopAndWait();          // Stop condition I2C on bus

      i2cPutStartAndWait();         // Start condition I2C on bus
        i2cPutByte( 0x91 );   // addresses the chip with a read bit
      btemp1 = i2cGetByte(0);  // read first byte and store in byte1
      
      btemp2 = i2cGetByte(1);  // read second byte and store in byte2
          
        i2cPutStopAndWait();          // Stop condition I2C on bus

      tc = TickGet8bit();
    }


Und das steht in der cmd.c bytemp1 und 2 stehen hier als extern unsigned 
char:
else if (tagGroup == CMDCODE_ONEWIRE)
    {
     *pGetTagInfo->val = cmdGetWordVar(ref, pGetTagInfo->val, btemp1);   
    }

    pGetTagInfo->ref = HTTP_END_OF_VAR;   
    return 0;   //No bytes was written
}


Leider bekomme Ich es nicht zum laufen kann mir jemand bitte helfen?

Autor: gibata (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry kleiner Nachtrag es heist natürlich
i2cOpen(I2C_MASTER, I2C_SLEW_OFF, 24);

Autor: gibata (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keiner der helfen kann?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.