Arduino Polska Forum
Zmiana szybkości I2C - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Sieciowe Protokoły i Urządzenia (https://forum.arduinopolska.pl/dzial-sieciowe-protoko%C5%82y-i-urz%C4%85dzenia)
+--- Wątek: Zmiana szybkości I2C (/watek-zmiana-szybko%C5%9Bci-i2c)



Zmiana szybkości I2C - Wimp - 20-07-2020

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);
    }
}