Доброго времени суток, форумчане.
Передо мной стоит задача, объединить несколько контроллеров (а точнее 3, одна atmega128 и две atmega
в структуру, где мега128 будет управлять остальными. Пересылка данных пойдёт по протоколу i2c. Про сам i2c я уже начитался, и примерно представляю что это такое. На многих форумах писалось, что i2c в контроллерах avr называется TWI (two wire interface). Для генерации проектов я использую CodeWizard среды CodeVision. при выборе чипа например atmega128 у неё появляются 2 вкладки (TWI) и (I2C).
в хелпах я нашёл 2 стандартные библиотечки twi.h и i2c.h
в том же хелпе указано что twi.h вроде как для контроллеров atxmega
поэтому у меня возникают следующие вопросы:
1 - что это за библиотеки такие и в чём между ними разница, ровно как и в чём разница между вкладками конфигурации TWI и I2C ?
2 - можно ли использовать CodeWizard для того чтобы сконфигурировать i2c канал передачи данных и какую вкладку использовать, или же напрямую в коде руками прописать данные в регистры ?
3 - можно ли использовать стандартную библиотечку для работы с i2c и какая это библиотека i2c.h или twi.h, или опять же нужно писать процедуры собственными руками, потому что в моём случае, лучше всё-таки более инкапсулированное решение =), не хочется изобретать велосипед.
почитав форумы и посмотрев исходнички, видел, много примеров, где люди сами писали процедуры приёма и передачи данных, но я всё же думаю что есть уже готовые библиотеки, и думал что они есть встроенные, помогите разобраться.
Спасибо.