Benötige mal C++ Syntax-Hilfe.

OP (Firma: Q3) #7428469
Lesenswert?

Ich möchte die Adafruit_FRAM_I2C nicht mit dem eingebauten Hardware-I2C-Interface am Arduino (A4/A5) verwenden, sondern mit einer SoftwareI2C "SoftWire".

Die Softwire-Lib funktioniert, weil ein I2C-Scanner damit die unterschiedlichsten Sensoren an den richtigen Adressen erkennt, das soweit als Anfangstest.

Nun möchte ich ein FRAM schreiben und lesen und dazu oben genannte Lib verwenden. Din der Lib selbst ist die begin-Methode so definiert:

1
/*!
2
 *    @brief  Sets up the hardware and initializes I2C
3
 *    @param  addr
4
 *            The I2C address to be used.
5
 *    @param  theWire
6
 *            The Wire object to be used for I2C connections.
7
 *    @return True if initialization was successful, otherwise false.
8
 */
9
bool Adafruit_FRAM_I2C::begin(uint8_t addr, TwoWire *theWire)
10
{
11
  Adafruit_EEPROM_I2C::begin(addr, theWire);
12
  i2c_dev2 = new Adafruit_I2CDevice(MB85RC_SECONDARY_ADDRESS, theWire);
13
  if (!i2c_dev2->begin()) {
14
    return false;
15
  } ...

Nun habe ich die verschiedensten Varianten von diesem hier probiert:

1
SoftWire sw(fram_sda, fram_scl); //die Pins für Softwire
2
Adafruit_FRAM_I2C fram     = Adafruit_FRAM_I2C();
3

4
void setup(void)
5
{
6
  if (fram.begin(0x50, sw)) //<----- diese Zeile
7
  if (fram.begin(0x50, *sw)) //<----- diese Zeile
8
  {  
9
    Serial.println("Found I2C FRAM");
10
  } else
11
  { ...

Error: error: no matching function for call to 'Adafruit_FRAM_I2C::begin(int, SoftWire&)'

Wie muss es richtig aussehen? Danke.

Beitrag #7428476 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren