Wpis z mikrobloga

#stm32 f103 komunikuje się z pc przez usart 1 i odbiera dane po i2c1 z mpu9250, podczas takiej pracy zawiesza się w losowych momentach i2c1 na while'u podczas sprawdzania I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED). Usart1 odbiera bajt w przerwaniu, sprawdza czy się zgadza i wysyła dane do pc. Zawiecha i2c pojawia się częściej, wraz ze wzrostem baudrate usartu. Co tu może być nie tak? W erracie nic nie znalazłem na ten temat. #elektronika
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Spróbuj zrobić timeouty. Jeśli przez kilka ms ta funkcja nie puści dalej to powtórz cała transmisje od flagi startu. Niby to mało eleganckie ale może przerwania Ci się nakładają albo układ nie jest gotowy i takie cuda się będą dziać.
  • Odpowiedz