StM32F100 a I2C

Ahoj, narazil jsem na jednu věc a nevím si rady. Začal jsem používat komunikaci I2C, kde jako master je wifi modul ESP-WROOM-02 (zde je I2C napsáno softwarově) a slave je STM32F100RBT6, které používá DMA. Mám to vymyšlené tak, že master posílá dva bajty a dva bajty přijímá od slave. Výměna dat je bez problémů, ale občas dojde k nějaké kolizi, kterou nedokážu zachytit a ta mi způsobí zamrznutí STMka. SCL jde to LOG 0 a je silou drženo dokud nevypnu/nezapnu napájení. Tuhle chybu dokážu nasimulovat, pokud odešlu slavem pouze jeden bajt místo dvou. Zdá se, že STMko skočí do nějakého přerušení, které není obsluhované a zacyklí se. Přerušení související s DMA a I2C mám odzkoušené a zde to není. Netušíte někdo, kde je problém? Dík.

Tak co, už jsi s tím nějak hnul? Bych asi zkusil SPI nebo serial, když píšeš že ti I2C zůstává viset…

Ahoj, dík za reakci. V tuhle chvíli mám toto vyřešené a funguje to spolehlivě. Byla tam chyba v obsluze události vysílání start bytu. V tomhle případě musí být použito výhradně I2C, protože mám zabrané všechny piny MCU. Jediné co jsem nezprovoznil je hardwarové počítání a odesílání CRC.