Skocz do zawartości

Stm32F103C8T - Błąd bibliotek I2C (arduino/STM32)


zaq

Pomocna odpowiedź

Witam mam problem odnośnie jednoczesnego używania wyświetlacza oled SSD1306 - I2C oraz cyfrowego czujnika prądu/mocy INA219 - I2C. Przykłady wgrywane osobno działają jednak przy próbie użycia jednocześnie działa tylko 1 urządzenie zależnie od miejsca inicjalizacji w programie. Domyślam się że jest to spowodowane tym że wyświetlacz korzysta z biblioteki a INA219 z . Czy jest możliwość uruchomienia ich razem ? Czy może użyć 2 linii I2C1, oraz I2C2 mikrokątrolera Stm32F103C8T czy jest taka możliwość jeśli tak to jak ? W załączniku dołączam biblioteki , proszę o pomoc.

Stm32.zip

Link do komentarza
Share on other sites

W konstruktorze HardWire (patrz niżej) możesz wybrać, którego I2C używasz. Znajdź więc w bibliotece SSD1306 linię, w której jest tworzony obiekt typu HardWire i zmień numer I2C.

HardWire::HardWire(uint8 dev_sel, uint8 flags) {
   if (dev_sel == 1) {
       sel_hard = I2C1;
   } else if (dev_sel == 2) {
       sel_hard = I2C2;
   } else {
       ASSERT(1);
   }
   dev_flags = flags;
}
Link do komentarza
Share on other sites

Dzięki za odpowiedz czy chodzi o to ?//HardWire HWIRE(1,I2C_FAST_MODE); // I2c1

HardWire HWIRE(2,I2C_FAST_MODE); // I2c2

http://forum.arduino.cc/index.php?topic=265904.msg2157388#msg2157388

Kożystam z klona maple min https://lh4.googleusercontent.com/-Zypk-hO-LWU/VUMuOgqEyXI/AAAAAAAABZ8/bbSaAfOdyuE/w688-h323-no/STM32a_c.jpg

Jeśli zmienię na 2, I2C podłącze SDA - PB11, SCL - PB10 https://cdn.hackaday.io/images/1925191437063394286.png

Niestety wyświetlacz nie działa co może byś przyczyną

Przy próbie zamiany I2C1 i I2C2 w pliku i2c_f1.c

static i2c_dev i2c1 = I2C_DEV_OLD(1, &gpiob, 7, 6);//11, 10);//

static i2c_dev i2c2 = I2C_DEV_OLD(2, &gpiob, 11, 10);//7, 6);//

I2C2 nadal nie działa jak można to uruchomić ?

Nowy folder (7).zip

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...