12-07-2016, 07:41 PM
Evo primera gde softverski I2C puca. Imas mcu master i neki I2C slave. Master je poslao start bit i slave addr, a slave kada je primio ispravne podatke pokrenuo svoj communication time-out timer. Mcu krenuo da salje podatke i generisao se int gde je cpu potrosio vreme koje je duze od time-out-a. Slave je resetovao sebe i ceka ponovo iniciranje komunikacije. Mcu ne zna sta se desilo na magistrali i nastavi da salje podatke po izlasku iz int. Slave ne reaguje. Sta onda. Mnogo ovakvih situacija i nema komunikacije. Preporuka je da se kod soft i2c uvek iskljuce interapti.
Ako su potrebne vece duzine i brzine, onda se koriste drajveri ili i2c expanderi. Pravi ih NXP.
Ako su potrebne vece duzine i brzine, onda se koriste drajveri ili i2c expanderi. Pravi ih NXP.