Не могу прошить ардуино при подключении TM 1639

Подключил драйвер TM1639 к ардуино к пинам А4, А3, А2. Эти пины подтянул с помощью резисторов 10кОм к плюсу питания.

После этого микросхема перестала прошиваться как USBasp, так и по “usb to ttl”

Когда микросхему достаешь все прошивается норм, причем, когда ТМ1639 ставишь на место, скетч работает отлично и она все выводит на индикаторы.
Прозвонка контактов КЗ не выявила.

GitHub - MaximAivazov/Arduino-TM1639

вывода цифр и точек на дисплеи, запуск и инициирование драйвера, включение/отключение дисплеев, регулировку яркости.
Используется 5 функций:
  void initTM1639(byte dataPin1, byte clockPin1, byte strobePin1);  //Инициализация драйвера TM1639, необходимо задать пины Ардуино в указанном порядке.  
  void printTM1639(byte a1, byte b1, byte a2, byte b2, byte a3, byte b3, byte a4, byte b4, byte a5, byte b5, byte a6, byte b6, byte a7, byte b7, byte a8, byte b8); //Вывод данных на дисплеи
  а1, a2 и т.п. числа для вывода, начиная с первого разряда, если число больше 9, то индикатор остается пустым, b1, b2 и т.п. вывод точки, начиная с первого индикатора,
  если вводим 0 - точка не горит, если любое другое число, то горит.
  void lightTM1639(byte light1);  //Регулирование уровня подсветки, яркость задается цифрами от 1 до 8
  void controlTM1639(bool a); //Включение и выключения дисплея, если передаем 0 - отключение, если 1 - включение с яркостью отображения уставновленной по умолчанию. 
  byte buttonstatusTM1639(bool b);  //Запрос состояния клавиатуры, передаем 0 - получаем значение первого байта, передаем 1 - получаем значение 2 байта*/

#include <masterTM1639.h> //Подключим библиотеку для управления TM1639
long previousMillis = 0;  //Сохраним время последнего переключения светодиода

void setup() {
  Serial.begin(9600); //Запустим порт со скоростью 9600 бод
  
  initTM1639(A4, A3, A2); //Инициализация драйвера TM1639
  
  printTM1639(1, 1, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 5, 1); //Выведем "1 2 3 4 5 6 7 Х."
  
  delay(500);
  controlTM1639(0); //Отключим дисплей

}

void loop() {
    Serial.print(buttonstatusTM1639(0), BIN); //Запросим 1 байт состояния клавиатуры
    Serial.print("  ");
    Serial.print(buttonstatusTM1639(1), BIN); //Запросим 2 байт состояния клавиатуры
    Serial.println();
delay(500);
  }

К какому ардуино?

Arduino Duemilanove прошивка.
У меня камень с кварцем прошит на макетке

Возможно дело в пине Reset. Поставьте джампер

Не совсем понял, что именно надо сделать. К reset у меня подведен подтягивающий резистор на 10кОм и кнопка соединяющая его с минусом питания. Ручной перезапуск тоже не срабатывает, когда вставлена микросхема ТМ1639, контроллер не шьется.
На пины 1 и 2 к которым подключена “USB to TTL” и к пинам 11, 12, 13 которые нужны для USbasp тоже ничего не подключено. Только к пинам А2, А3, А4 подключается микросхема ТМ1639 и по подтягивающему к плюсу резистору 10кОм каждый вывод.
Это же не должно влиять?

Т.к. полной схемы нет, отсюда и “непонятки”.

Проверьте питание схемы. “Тянет” ли источник , когда ардуино и TM1639 подключены.

Да, источник на 3 ампера, потребление схемы 0,06А. Сейчас попробую отпаять выводы управления ТМ1639 (А2, А3, А4) и прошить не убирая саму микросхему.
Да, если отпаять выводы то все прошивается нормально.

Ну так поставьте джамперы, и прошивайте спокойно

1 лайк

Проблема решилась установкой конденсатора по питанию в 10 раз больше, чем в даташите на ТМ1639.