Нужна полезная библиотека связи на 1-4 выводах ATtiny84 вместо I2C
Я напортачил при проектировании своей печатной платы и просто предположил, что могу использовать программное обеспечение slave I2C с ATtiny84.
Причина, по которой я это сделал, заключается в том, что мне нужно было использовать все аналоговые входы.
Контакты, которые у меня есть на разъеме, следующие:
PB0 (вывод 2), PB1 (вывод 3), PB2 (вывод 5) и PA0 (вывод 13)
Есть ли альтернатива I2C или другой протокол связи, который я мог бы использовать для подключения нескольких из этих подчиненных плат к ведущему (ATMEGA328 и т.д.)?
Большое спасибо, я могу предоставить любую дополнительную информацию.
@Antonín Gazda, 👍2
Обсуждение1 ответ
Это много пинов, так что все действительно сводится к вашему приложению и тому, для чего вы хотите оптимизировать.
Вы могли бы сделать немного потрепанный программный I2C-ведомый на этих выводах. "Битовый взрыв" означает, что вы просто пишете программу для переключения битов на выводах, а не передаете байты аппаратному обеспечению, которое будет делать то же самое (хотя иногда быстрее или без использования циклов процессора). Для этого потребуется либо найти какой-то существующий код для реализации протокола, либо ознакомиться с документацией по протоколу и написать ее самостоятельно. В зависимости от ваших целей, второй вариант может стать отличным опытом обучения и отнять у этого материала часть магии. Это всего лишь 1 и 0, и как только вы действительно усвоите это, вы поймете, что с этими маленькими чипами вы можете делать почти все, что угодно, независимо от аппаратной или библиотечной поддержки.
- Увеличение скорости датчиков Vl6180x
- I2C с ATtiny85 на частоте 8 МГц с использованием библиотеки TinyWireM
- ATtiny85 I2C ЖК
- Лазерный датчик ToF (VL53L0X) не работает
- Библиотека Wire.h работает на Uno, но не компилируется для ATtiny85
- Связь I2C между Attiny85 в качестве ведущего устройства и Arduino UNO в качестве ведомого устройства
- Могу ли я соединить вместе несколько плат Arduino Nano ?
- Параллельная связь между несколькими Ардуино
SPI без MOSI (односторонняя связь) требуется только два контакта CLK и MISO. Это сэкономит вам один пин., @Dougie
Вы можете написать потрясающую реализацию I2C. -- Как и любой другой последовательный протокол. -- Вы могли бы даже изобрести свой собственный протокол, но это неразумно. -- Существует множество последовательных протоколов, начиная с 1 провода., @the busybee