- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 11

Thema: Master-Slave-Problem

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    @Filou:
    Wenn du in der Base das RP6Base_I2CSlave Programm hast, kannst du auf der M32 die Batteriespannung z.B. so lesen:
    I2CTWI_transmitByte(I2C_RP6_BASE_ADR,I2C_REG_ADC_U BAT_L);
    I2CTWI_readBytes(I2C_RP6_BASE_ADR, readBuf, 2);
    adcBat = (readBuf[1] << 8 ) | (readBuf[0]);
    Der ADC-Wert steht danach in adcBat.

    Wenn du einen eigenen Slave für die Base geschrieben hast, sieht das evtl. anders aus.
    Gruß
    Dirk

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2009
    Ort
    Berlin
    Beiträge
    450
    Übrigens, ich bin natürlich auch davon ausgegangen das auf der der Base das RP6Base_I2CSlave läuft und dann kannst du auf der M32 die Batteriespannung z.B. so lesen:

    Code:
    uint8_t basubat[2]; 
    uint16_t basubatges; 
       // I2C, Einlesen der Daten von der Base. Register 21
     I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 21); 
     I2CTWI_readBytes(I2C_RP6_BASE_ADR, basubat, 2); 
     basubatges = basubat[0] + (basubat[1]<<8); 
     // Display Ausgabe der Basis Spannung
     setCursorPosLCD(1, 0);
     writeStringLCD_P("-Spannungswerte-");
     setCursorPosLCD(2, 0);
     writeStringLCD_P("Basis :  ");
     writeIntegerLengthLCD((((basubatges/102.4f)+0.1f)), DEC, 2); 
     writeStringLCD_P(".");
     writeIntegerLengthLCD((((basubatges/1.024f)+10)), DEC, 2); 
     writeStringLCD_P(" V");
    mfg TrainMen

Berechtigungen

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

Labornetzteil AliExpress