<div dir="ltr"><div>Zdravím,</div><div>rozcházím takové zařízení - jedná se o jeden řídící ATmega 328PB jako I2C master, který je spojen s dalšími ATmega328PB jako I2C slave - je jich tam pověšených 8. Problém je, že při předávání parametrů jednotce s adresou 0xBA dojde ke generování zvláštních pulsům - tím dojde ke špatnému vyhodnocení předávaného parametru. <br></div><div>A někdy to tam není. Naprosto stejný setup zařízení. Jako pokus jsem zablokoval všechny ostatní slave zařízení a nechal pouze ten jeden sledovaný, nepomohlo to. Pak jsem zapl, vypl, zapl, někdy i přeprogramoval stejným SW a chování zmizelo. Pak se zase z ničeho nic objevilo.</div><div>Nedaří se mi najít metoda, jak ten problém řízeně kontrolovat.  <br></div><div>Pro ilustraci přikládám obrázky z Kingst analyzátoru. Ty průběhy mohou vypadat jinak, je to přece jen logický analyzátor.</div><div>
Rychlost I2C je nastavená na 100kHz. Jedná se o HW implementaci pomocí knihovny v CodevisionAVR, nejedná se o žádný bit-bang, ale řeší se to přes přerušení. Na jiných projektech jsem s knihovnou problém neměl, takže asi problém bych tam nehledal. Ty glitche jsou při write - tedy směr od Masteru...<br></div><div><br></div><div><a href="https://ibb.co/album/PDyRbr">https://ibb.co/album/PDyRbr</a></div><div><br></div><div>Napadá vás něco ?</div><div>Nebo aspoň co vyzkoušet, abych to dostal pod kontrolu ?</div><div><br></div><div>Díky,</div><div>Ondra</div><div><br></div><div><br></div></div>