forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
StM32F100 a I2C

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> ARM
 
hazardrok
Profesionál
Profesionál


Založen: 16.1.2012
Příspěvky: 131

PříspěvekZaslal: 30 září 2016, 12:04    Předmět: StM32F100 a I2C Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Mahoney
Profesionál
Profesionál


Založen: 26.12.2013
Příspěvky: 107

PříspěvekZaslal: 02 prosinec 2016, 22:45    Předmět: Citovat

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…
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
hazardrok
Profesionál
Profesionál


Založen: 16.1.2012
Příspěvky: 131

PříspěvekZaslal: 06 prosinec 2016, 16:00    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> ARM Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2017 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)