Skocz do zawartości

WowaTatain

Użytkownicy
  • Zawartość

    1
  • Rejestracja

  • Ostatnio

Wszystko napisane przez WowaTatain

  1. Dzień dobry, Ostatnio zabrałem się za próbę budowy czegoś ambitnego, nie wiem, czy nie za bardzo, ale jednak lubię się uczyć na istniejących projektach. Mianowicie zabrałem się za tytułowy STM, który miałby pracować jako slave wobec RPI, przez I2C. O ile komunikacje raspberry okazała się nawet prosta i połączyłem się z akcelerometrem, ba połączyłem się z STM i odczytywałem z niego dane. Oczywiście był to projekt z internetu, który wysyłał dane z ADC: https://github.com/avislab/STM32F103/tree/master/Example_I2C_Slave I o ile program działał, to jakakolwiek jego kompilacja już nie. Nie wiem, czy autor zmienił którąś bibliotekę, ale oryginalny projekt nie daje cię skompilować(nawet przy próbie rozwiązywaniu problemów, które pojawiają się w eclipse), a wrzucenie do eclipse, to istniejącego projektu plików main, oraz własnej biblioteki autora daje się skompilować, ale kiedy tylko pojawi się stan niski na wejściu magistrali, kontroler się zatrzymuje i utrzymuje owy stan niski na SDA do restartu (nawet gdy odłączam raspberry). Jeżeli ustawię I2C_InitStructure.I2C_Ack = I2C_Ack_Disable; to wtedy kontroler nie zatrzymuje się, ale jednocześnie nadal nie odpowiada. W zasadzie bardzo zależy mi na tej komunikacji I2C, ale nie wiem, czy ja robię coś źle, czy błąd siedzi po stronie kompilatora. Próbowałem się dowiedzieć kiedy program się zatrzymuje, wstawiając linijkę kody, który zaświecałby diodę, ale błąd powstaje chyba jeszcze zanim włączy się przewianie, lub na jego uruchomieniu, a zatrzymanie się kontrolera obserwowałem migającą diodą w nieskończonej pętli. W zasadzie nie wiem jak rozwiązać problem, więc zwracam się do Was. Próbowałem również projekt https://github.com/amitesh-singh/i2c-slave-stm32f1/blob/master/main.cpp, ale z identycznym efektem.
×
×
  • Utwórz nowe...