Digispark Rev. 3 Kickstarter ATtiny85 использует все 6 контактов

у меня возникли некоторые проблемы с одновременным использованием i2c и других контактов.

я пытаюсь управлять attiny по i2c с помощью arduino, а attiny должен управлять мачехой 28byj-48.

я начал настраивать соединение i2c, для этого используется вывод 0 и вывод 2. он работает нормально, но затем я подключил драйвер мачехового двигателя на вывод 1,3,4,5.после подключения 5-контактного разъема я теряю соединение i2c.

вот код из attiny, ничего особенного

#include <TinyWireS.h>                // класс оболочки для подчиненных подпрограмм I2C

#define I2C_SLAVE_ADDR  0x29            // slave адрес i2c (38)
#define A 1
#define B 3
#define C 4
#define D 5
#define NUMBER_OF_STEPS_PER_REV 512


void setup(){
  pinMode(1,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  TinyWireS.begin(I2C_SLAVE_ADDR);      // нициализация I2C ведомый режим
}


void loop(){
  byte byteRcvd = 0;
  if (TinyWireS.available()){           // есть вход I2C!
    byteRcvd = TinyWireS.receive();     // получить байт от master
    //Blink(byteRcvd);           // мастер должен дождаться завершения этого, прежде чем вызвать Wire.requestFrom
    //byteRcvd += 10;                                                    // добавьте 10 к полученному
    //TinyWireS.send(byteRcvd);           // отправить его обратно мастеру

    //             Blink(1);                  // показать, что мы передали
  }
}

, 👍1


2 ответа


3

Такой платы Digispark, как Rev 3, не существует. Так и должно было быть, но произошла ошибка, поэтому они сразу перешли со 2-го на 4-й. Однако недобросовестные китайские фальшивомонетчики изготавливают платы "Rev 3".

Итак... ваш пробег может отличаться, так как используемые там компоненты могут быть любого сомнительного качества.

Но к вашей проблеме: P5-это также контакт RESET. Если предохранители на этом чипе установлены правильно, его можно использовать в качестве порта ввода-вывода. Но, будучи подделкой, кто знает, на что они устанавливают предохранители?

Но если вы все-таки измените предохранители, вам придется полагаться на сброс питания (его подключение) для запуска загрузки.

,

3

В качестве дополнения к ответу Майенко я могу сообщить, что использовал многие подделки "Rev.3", каждая из которых поставляется с предохранителями по умолчанию для чипа, поэтому сброс включен.

Вы можете установить предохранитель RSTDISBL с помощью вашего Arduino, а также обновить загрузчик micronucleus в процессе (освободив 0,4 кб).

Имейте в виду, что установка этого предохранителя отключит программирование ISP, поэтому вам понадобится работающий загрузчик для перепрограммирования чипа, если вы не вернете его с помощью программирования HV.

,