Arduino Polska Forum

Pełna wersja: Zmiana szybkości I2C
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam,
Jak zmienić szybkość działania I2C z np. ze 100 kHz na 400 kHz? Funkcja Wire.setClock(...) u mnie nie działa. Oto mój kod przykładowego programu na którym testuje działanie I2C. Jest to program generujący fale trójkątną za pomocą modułu Gravity MCP4725 Chciałbym móc zwiększyć częstotliwość fali poprzez przyspieszenie magistrali I2C. Obecnie testuje na Arduino Uno, ale mam też inne płytki.

Kod:
#include <Adafruit_MCP4725.h>
#include <Wire.h>

Adafruit_MCP4725 dac;

void setup(void)

{
  dac.begin(0x61);
   
  Serial.println("Generating a triangle wave");
}

void loop(void) {
    uint32_t counter;
    // Run through the full 12-bit scale for a triangle wave
    for (counter = 0; counter < 4095; counter++)
    {
      dac.setVoltage(counter, false);
    }
    for (counter = 4095; counter > 0; counter--)
    {
      dac.setVoltage(counter, false);
    }
}