Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[STM32F407/C/KEIL] - Zawieszanie transmisji I2C

qqś 02 Gru 2012 15:27 441 0
  • #1 02 Gru 2012 15:27
    qqś
    Poziom 11  

    Witam,
    mam taki problem z stm32f407, otóż odbieram dane z różnych czujników przez magistralę I2C i wszystko działało bez problemu, ale potrzebuję również odmierzać czas w programie dlatego włączyłem timer i wygląda na to, że jak przychodzi przerwanie od timera w trakcie wysyłania danych po I2C.
    Samo przerwanie jest bardzo krótkie, także wydawało mi się, że jak na kilka cyklów przerwiemy pracę I2C to nic się nie stanie, a jednak się zawiesza.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Samo I2C mam zrealizowane bez żadnych przerwań, DMA, itd, docelowo chciałbym tą transmisję obsługiwać właśnie przez DMA, czy to rozwiązało by mój problem?
    Czytałem też, że oprócz przerwań są zdarzenia, ale w sumie to nie wiem jak to zrobić aby zdarzenie było generowane a nie przerwanie, zresztą nie wiem czy to by mi w czymś pomogło.
    Nie wklejam całego kodu, bo jest dosyć długi, ale jak mogłoby to jakoś pomóc to mogę go to wrzucić
    pozdrawiam
    Maciek

    0 0