USI в двухпроводном режиме

AVR
Потребовалось мне сделать связь между микроконтроллерам, причем такую, что бы каждый мог начинать передачу по своему желанию и не мешать при этом высказываться другим, иначе это называется «режим мультимастер». Очень нужно НЕ использовать прерывания (они нужны для других функций).

Присмотревшись к коммуникационным возможностям, аппаратно реализованных в AVR, перепробовав их на зуб, остановился на USI. Вроде бы странный выбор, повсеместно его стараются обойти, ссылаясь на странности поведения, на сложности использования и прочие страшилки…
Согласен, есть такое дело, сам «нашишковал» достаточно, пока догадался разобраться со странностями непосредственно «в железе», благо цифровой осциллограф есть в наличии.

Как выяснилось, причиной «чуднОго поведения USI» является недостаточно полное описание его в документации. Нет, явных ошибок я там не нашел, просто читаю одно, понимаю другое, пишу код… и получаю: «ничего не работает» и «фигня полная».



Читать дальше
  • +5
  • 18 января 2016, 20:09
  • iva

IIC/I2C/TWI и провод "Пружинка"

Вопрос и проблема интересные)

Есть два маленьких МК на одной плате и они будут слать инфу большому МК, который на другой плате, и в зависимости от этой инфы принимает решение что делать дальше.


Читать дальше

Странности с TWI

Подключаю тут LM75A, накидал код:



Читать дальше
  • 0
  • 15 октября 2011, 23:35
  • _YS_

Arduino: I2C / TWI (TWO-Wire) and 1-Wire Shield

Модуль предназначен для подключения 8-выводных микросхем с интерфейсом I2C / TWI (TWO-Wire) и датчиков с интерфейсом 1-Wire к Arduino/Freeduino

Состав модуля:
  • микросхема часов реального времени DS1307,
  • литиевая батарейка CR2032,
  • панель для установки микросхемы памяти типа AT24Cxx,
  • две тактовые кнопки для установки часов,
  • трехконтактные разъемы для установки датчиков температуры типа DS18x20,
  • кнопка сброса,
  • светодиод питания,
  • джамперы.


Читать дальше
  • +1
  • 18 марта 2011, 14:50
  • anwi