Можно ли использовать I2C на других пинах, не 20 и 21? (Mega 2560)
- Войдите на сайт для отправки комментариев
Пнд, 24/02/2014 - 23:59
по описанию, I2C аппаратно реализован на пинах 20 и 21.
У меня эти пины задействованы под энкодер, т.к. них висят прерывания 3 и 2.
Нельзя
Тут что-то было про это.
Попробуйте использовать программный i2c. Тогда может получиться. Ищите по i2c или TWI (это одно и то же).
по описанию, I2C аппаратно реализован на пинах 20 и 21.
У меня эти пины задействованы под энкодер, т.к. них висят прерывания 3 и 2.
на I2C висят часы RTC DS1307, датчик давления BMP085, возможно, еще и дисплей на них подсядет в будущем.
Ну тогда точно ищите программный i2c. Например, вот здесь: https://sites.google.com/site/marthalprojects/home/arduino/i2c-via-digital-pins
спасибо. Пока изучаю материал:
http://homepage.hispeed.ch/peterfleury/group__pfleury__ic2master.html
http://forums.adafruit.com/viewtopic.php?f=25&t=13722
http://todbot.com/blog/2010/09/25/softi2cmaster-add-i2c-to-any-arduino-p...
http://forum.arduino.cc/index.php?topic=50200.0
https://sites.google.com/site/marthalprojects/home/arduino/i2c-via-digit...
Приподниму немного старую тему... Тоже Arduino Mega.
Суть в чем - много устройств на шине, и у каждого свои подтягивающие резисторы. Все это подглючивает из-за падения уровня сигнала. Выпаивать не хочу, да и не везде это просто. Хотелось бы пару девайсов повесить на software i2c, остальные оставить на аппаратной.
Я же правильно понимаю, что при помощи библиотеки https://github.com/felias-fogg/SoftI2CMaster я осуществлю задуманное без конфликтов?
Параллельное соединение резисторов... Каких номиналов резисторы и сколько таких устройств на шине?
А выпаивать всё равно придётся, софтовый или хардварный I2C - электрически разницы никакой, по идее.
Ну да, нагрузить один I2C резистором на 900 Ом или два по 1.8 кОм - никакой разницы.