USI Two-wire komunikace pomoci Attiny2313A/4313 (I2C)
Moderátor: Moderátoři
USI Two-wire komunikace pomoci Attiny2313A/4313 (I2C)
Hraji se s Two-wire komunikací (I2C) a měl bych dotazy:
- Když Master vyvolá START podmínku (SCL=High, SDA přechází na Low), kdo se postará aby následně přešlo SCL na nízkou úroveň? Musí se o to postarat na straně Slave programátor zápisem sbi PORTB,SCL v rutine přerušení USI_START?
- Když je po START podmínce SCL na nízké úrovni, musí ji MASTER testovat před tím, než zapíše první bit do SDA?
Děkuji za odpověď. Začínám s Two-wire komunikací a potřebuji o ní získat základní informace.
Takže když Master vyšle START, musí zhodit SCL. Slave potom může podle svého vědomí a svědomí SCL podržet než bude náležitě pŕipravený na příjem dat. Master po tento čas musí sledovat stav SCL, to znamená, musí se pŕepnout na příjem. Je teda nutné zařadi spožďovací smyčku mezi zhodením SCL a přepnutím se do vstupního režimu (stále mluvím o Master)? Jestli ano, kolik času má dát pro Slave na to, než se rozhýbe a podrží SCL?