Skocz do zawartości

STM32 - Problem z uruchomieniem I2C


ElektronPL_WiTu

Pomocna odpowiedź

Witam, mam problem z uruchomieniem I2C w płytce NUCLEO-F429ZI. Mam do podłączenia układ KT0806 (transmiter radiowy). Na Arduino go przetestowałem, działa poprawnie, a na STM32 mam z tym problem.

Tak wygląda kod na STM32:

uint8_t data;
HAL_I2C_Mem_Read(&hi2c1, 0x36, 0x10, I2C_MEMADD_SIZE_8BIT, &data, 1, 10000);

A kod, który działa poprawnie na Arduino wygląda tak:

byte data;

Wire.beginTransmission(0x36);
Wire.write(0x10);
Wire.endTransmission(false);
Wire.requestFrom(0x36, (byte)1);
data = Wire.read();
Wire.endTransmission();

Zrobiłem sobie prosty analizator logiczny na Arduino i zebrałem przebiegi z STM32 i Arduino.

Nie wiem czemu  STM32 wysyła tylko 1 bajt z adresem urządzenia i nic dalej się nie dzieje. Jeśli chodzi o przebieg z Arduino to dokonałem analizy, bo już przy tych częstotliwościach było to mało czytelne w tym prostym analizatorze...

arduino_i2c.thumb.png.ee72a6b6a29770a69b2fc2e00dc09ca6.png

stm32_i2c.thumb.png.3e39729390400696cbf05daaea036519.png

Liczę na pomoc,

Pozdrawiam.

Edytowano przez ElektronPL_WiTu
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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.