как добраться до консоли отладки - USBASP USBISP AVR

kuksha
Offline
Зарегистрирован: 18.04.2019

Для прошивки Arduino Pro Mini 328, купил USBASP USBISP AVR (https://aliexpress.ru/item/32724669918.html?spm=a2g0s.9042311.0.0.43b533eddKCNrO)

Прошивка работает (изменил мигание встроенного светодиода - получилось). 

Дальше - не понимаю как теперь добраться до консоли отладки.
Пытаюсь что-то напечатать - в консоли пусто...
Что надо в IDE настроить?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, как обычно, информации никакой - как прошивали, что не выходит. Хрустальный шар (взял пока Клапа не видит, только не выдавайте меня) показал, что Вы, скорее всего, прошили скетч без загрузчика. Прошейте с загрузчиком и будет Вам счастье под новый год.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

eyescream, я потёр Ваш высер. Пожалуйста, воздержитесь от провоцирования срачей.

kuksha
Offline
Зарегистрирован: 18.04.2019

Да, загрузчик вроде не прошивал...
Бросите ссылку как его прошить? Ну или здесь, если не надоело уже на такие вопросы отвечать... 

sadman41
Offline
Зарегистрирован: 19.10.2016

По ICSP Arduino IDE монитор не фурычит. Только по TTL-USB

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Прошить-то его просто, в IDE выбрать в меню "Инструменты | Записать загрузчик", только это не поможет, т.к. при прошивке скетча программатором, Вы его снова затрёте.

Чтобы прошить и загрузчик, и скетч, Вы берите в меню "Скетч | Экспорт бинарного файла". В папке появятся два файла - Ваш скетч сам по себе и Ваш скетч вместе с загрузчиком. По названиям поймёте где что. После этого запустите avdude отдельно от IDE (либо из командной строки, либо есть куча вариантов "с окнами") и прошейте тот файл, который с загрузчиком. Вот тогда оно у Вас будет работать.

Только зачем Вам это надо? Чем Вам не нравится прошивать обычным способом? Если не работает, но при этом программатором прошивается, то, скорее всего, это лечится легко. Прошейте голый загрузчик (как я писал в первом абзаце) а потом попробуйте прошить скетч обычным путём. Должно сработать.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

eyescream, я ещё раз потёр Ваши высеры. 

Вам не терпится быть забаненным? У Вас такой план - до нового года забаниться?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

sadman41 пишет:
По ICSP Arduino IDE монитор не фурычит.

Ой! 

kuksha, так Вы что пытаетесь монитор по проводам программатора запустить?

Вот блин, зарекался же не брать шар, а пока ТС всех подробностей не расскажет - нет лезть :-(

sadman41
Offline
Зарегистрирован: 19.10.2016

У него нет обычного способа, по ходу дела, как и TTL-USB. Товарищ сразу с тяжёлых наркотиков начал... Да ещё и в новогодний вечер. Спасать человека надо.

kuksha
Offline
Зарегистрирован: 18.04.2019

Что-то разделились мнения - один говорит, что по ISP монитор и не работает.
Другой советует с загрузчиком повозиться... 

Чем поможет загрузчик, если я с ним справлюсь - не понимаю. Евгений, монитор при подключении через мой программатор точно работает?

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Евгений Вам дал общий совет, заглянув в хрустальный бокал, а я диагноз поставил.

kuksha
Offline
Зарегистрирован: 18.04.2019

Народ, с Наступающим ! :)
Не бейте - я во-первых чайник, во-вторых две недели не притрагивался к ардуине. Сейчас перерыв между застольями - решил спросить - думал что вопрос простой и часто встречается. Не ожидал, что всё так тяжело и начнётся обсуждение...

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Я Вас понял, что Вы программируете программатором, а монитор-то цепляете через USB - как обычно. И всё, что я писал, было про это. Если Вы хотите соединить компьютер с ардуиной только через программатор, то конечно нет. Забудьте.

В общем, всё как всегда. ТС ничего никому не объяснил - час работы, а потом выясняется, что он "напряжение с ресета читает". Давайте-ка начнём с начала. Рисуйте схему как и что Вы подключаете. Без этого разговора не будет.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

sadman41 пишет:
а я диагноз поставил.
Красава!

kuksha
Offline
Зарегистрирован: 18.04.2019

Всё, извиняюсь... я действительно думал, что проблема известная и просто не требует подробностей...
Таймаут и всем за стол :)
На днях отойду от праздника и по-людски напишу что и как.
Спасибо за участие и всех ещё раз с Наступающим!
 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

И Вас с праздником!

rkit
Offline
Зарегистрирован: 23.11.2016

А что такое консоль отладки, если не секрет? Уже немало лет занимаюсь, но впервые слышу про такое чудо техники.

negavoid
Offline
Зарегистрирован: 09.07.2016

Термин такой англоязычный. В данном случае - это UART.

kuksha
Offline
Зарегистрирован: 18.04.2019

Дабы не плодить новые темы - в этот раз напишу подробно и начну от печки... сами вопросы в конце.
Ещё раз - программатор у меня вот такой: https://aliexpress.ru/item/32724669918.html?spm=a2g0s.9042311.0.0.43b533eddKCNrO
1) Судя по названию, это USBasp? Немного смущает наличие USBISP в названии на алиэкспрессе и немного другое расположение элементов на фотках в статьях в Сети, но насколько я понял, компоновка USBASP может быть разной, тем более у китайцев... Обращаю на это внимание только для того, чтобы не попасть «не на ту» версию устройства, когда дайдёт до прошивки - на плате нет надписей, а в Сети я видел устройства с версией 2.0 на плате - мало ли что... покупалась летом 2019 г. На программаторе стоит чип ATMEGA8А, кварц на 12.000.

2) Моя Arduino Pro Mini Arduino Pro Mini 328P на Алиэкспрессе не прописана в списке поддерживаемых устройств. Да, глупо с моей стороны вышло при заказе... Но, у других продавцов Atmega 328 указана в списке поддерживаемых для программаторов с такой же компоновкой элементов, так что, может и нормально?

Подсоединил 6-ю проводками к своей Arduino Pro Mini 328P - два питания, и 4 на ардуинку:
USBasp -> Arduino
MISO -> 12
SCK -> 13
RST -> RST
MOSI -> 11

3) Шью вот такой скетч через Ctrl+Shift+U:
 

int led = 13; //встроенный светодиод

void setup() {
pinMode(led, OUTPUT);
digitalWrite(led, LOW); // svetodiod off
}

void loop() {
  digitalWrite(led, HIGH);
  delay(1000);
  digitalWrite(led, LOW);
  delay(1000);
}

Ошибок нет - мигает раз в секунду. Вроде нормально.

4) Теперь пытаюсь что-то напечатать при этом в монитор вот так:

int led = 13; //встроенный светодиод

void setup() {
  // put your setup code here, to run once:
pinMode(led, OUTPUT);
digitalWrite(led, LOW); // svetodiod off

Serial.begin(9600);      // открываем последовательное соединение
Serial.println("Hello");
}

void loop() {
  digitalWrite(led, HIGH);
  delay(1000);
  digitalWrite(led, LOW);
  delay(1000);
}

Получаю в консоли две строки ошибок:

avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
 
В мониторе прота COM2 пусто.
Надо обновлять прошивку программатора? Прошивает же нормально вроде...
Ладно, если надо, то как это сделать?
Где взять именно ту прошивку, которая точно подойдёт? (Это к тому вопросу о версиях самого устройства...)
У меня только один программатор и одна ардуинка... Без второго программатора точно никак? Просто встретил упоминание, что вроде-бы можно прошить загрузчик и тогда можно без второго программатора обойтись, но как это сделать я не нашёл...
rkit
Offline
Зарегистрирован: 23.11.2016

usbasp с монитором порта не работает. Совсем. Для монитора порта нужен конвертер usb-uart. Им же и программируют pro mini обычно, а usbasp для других вещей.

Старую прошивку обновить нужно будет, если понадобится работать с заводскими микроконтроллерами настроенными на работу без кварца, или если будут проблемы с качеством сигнала. Если работает, то можно и не трогать. Тем более, что оборудования для этого нет, насколько я понимаю.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

kuksha пишет:

Получаю в консоли две строки ошибок:

avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: warning: cannot set sck period. please check for usbasp firmware update.

Забейте. Это может помешать в некоторых экзотических случаях, когда Вы на них напоретесь, то уже будете понимать и знать гораздо больше, чем сейчас. Пока просто забейте.

kuksha пишет:

Надо обновлять прошивку программатора? Прошивает же нормально вроде...

Можно и обновить, если есть точно правильная прошивка. Я вот скачал последнюю версию с сайта программатора, залил - он перестал писать это предупреждение, зато стал требовать перевключения питания после каждой заливки. Пришлось восстанавливать старую прошивку. До тех пор, пока оно Вам не мешает - не чините то, что не сломано.

kuksha пишет:

В мониторе прота COM2 пусто.

Это нормально. Serial на 328P работает на пинах 0 и 1. Вы к ним что-либо подключали? Нет. А чего Вы тогда ожидаете? Если Вы хотите, чтобы у Вас заработал Serial, нужно покупать USB-TTL преобразователь и подключаться к правильным ногам.

Более того, если купите USB-TTL преобразователь с пином DTR (бывают и без него), то сможете легко прошивать своё устройство из IDE кнопкой "прошить" как UNO. Только подключить надо правильно. Спросите. если что.

kuksha
Offline
Зарегистрирован: 18.04.2019

Спасибо, немного успокоили - тогда буду со старой прошивкой работать :)

Зачем мне монитор порта - для подключения дисплея OLED по IIC, мне нужно знать адрес устройства. Насколько я понимаю, чтобы этот адрес узнать, мне нужно запустить сканер IIC, который выдаёт результат сканирования в тот самый монитор порта. Можно конечно перебрать вручную сотню или сколько там вариантов адреса, но это же мрак...
Что делать?

rkit
Offline
Зарегистрирован: 23.11.2016

Разориться на arduino с usb-разъемом. Хотя бы на время разработки.

kuksha
Offline
Зарегистрирован: 18.04.2019

Да, я уже тоже подумал arduino nano взять... но я пока чайник и напарываться на что-то при переходе от нано к мини - как-то не улыбается. Сама nano без надобности - лишняя обвеска заряд жрёт...
А USB-TTL я с самого начала и взял, только он видимо не рабочий оказался - при замыкании выхода на вход тишина была... Да, про желательность RST я потом тоже прочитал, но уже поздно было - приехало без него. Есть вариант ногу прямо от чипа распаять :), но... слишком мелкая работа для меня.
Попробую ещё раз USB-TTL заказать наверное.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

kuksha пишет:

Попробую ещё раз USB-TTL заказать наверное.

Не забудьте про конденсатор между DTR модуля usb-ttl и RESET ардуины. А то тут половина народу его на землю пихает - неправильно - конденсатор между выходом DTR и Reset'om. Обычно все ставят 100nF, но мне как-то не хватило - 220nF спасло.

И ещё, вся эта заморочка с DTR нужна только для прошивки из IDE. Если нужно только чтобы сериал работал, то и без этого всё отлично работает.

sadman41
Offline
Зарегистрирован: 19.10.2016

Ежели TTL-USB на CH340, то он, вроде бы и не будет себя слушать. Так что просто подключайте RX-TX, TX-RX, GND-GND, драйвера ставьте и вперед, в монитор порта смотреть.

Но для первых шагов лучше, все же, Nano или Uno. Если с одинаковым МК взять, то проблемы с переходом не будет.

rkit
Offline
Зарегистрирован: 23.11.2016

не нужно никаких конденсаторов

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

rkit пишет:

не нужно никаких конденсаторов

Ну, может, Вам и не нужно, я же не знаю Ваших целей. Но, если нужно, чтобы прошивало без танцев с бубнами типа "дави на ресет как только ...", то надо ставить. Посмотрите на схему Nano.

kuksha
Offline
Зарегистрирован: 18.04.2019

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

kuksha
Offline
Зарегистрирован: 18.04.2019

sadman41 пишет:

Ежели TTL-USB на CH340, то он, вроде бы и не будет себя слушать. Так что просто подключайте RX-TX, TX-RX, GND-GND, драйвера ставьте и вперед, в монитор порта смотреть.


Да, сначала так и делал, потом менял - народ писал, что маркировка может быть перепутана. Глушняк.
Насчёт того что CH340 себя не слышит при перенаправлении выхода на своё же вход - не встречал...

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ничего Вы там не спалите, просто грузиться не будет.

Схемка, так схему любой ардуины с CH340 посмотрите. Например, вот здесь на стр. 7 конденсатор С8 - он и есть. 

Вы смысл его (конденсатора) понимаете?

kuksha
Offline
Зарегистрирован: 18.04.2019

Во-первых, я неправильно прочитал выше - на моём PL2303 DTR не было и я ничего не мог там ставить... 

ЕвгенийП пишет:

Вы смысл его (конденсатора) понимаете?


Нет, но насколько я помню, в моей модели PL2303 нужно было время поймать когда кнопку жать. Видимо конденсатор обеспечивает какую-то задержку.

sadman41
Offline
Зарегистрирован: 19.10.2016

PL2303 и CP-чототам у меня нормально никогда не работали. 340 - без проблем. FTDI еще лучше, но палёнка есть на рынке, как пишут.

kuksha
Offline
Зарегистрирован: 18.04.2019

sadman41 пишет:

PL2303 и CP-чототам у меня нормально никогда не работали. 340 - без проблем. FTDI еще лучше, но палёнка есть на рынке, как пишут.

А я как раз на CP2102 нацелился... Может, есть под рукой ссылка на то, что точно работает?

sadman41
Offline
Зарегистрирован: 19.10.2016

Точно работает это: https://s.click.aliexpress.com/e/On9BvXU
У того же рободина и Наны достойные, да и вообще товар -"заводской Китай". На рободин.ру заказывать ежели, поставка с московского склада должна быть.

Клапауций 003
Offline
Зарегистрирован: 20.07.2019

kuksha пишет:

sadman41 пишет:

PL2303 и CP-чототам у меня нормально никогда не работали. 340 - без проблем. FTDI еще лучше, но палёнка есть на рынке, как пишут.

А я как раз на CP2102 нацелился... Может, есть под рукой ссылка на то, что точно работает?


работает. с чего бы ему не работать. втыкаешь в юсб и работает.

!если прошить в юсбасп загрузчик V-USB, то программатор превращается в дуино, отладку через это http://arduino.ru/forum/programmirovanie/terminal-dlya-digiusb?page=1

kuksha
Offline
Зарегистрирован: 18.04.2019

Всем спасибо! Буду обрабатывать написанное :)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

kuksha пишет:

ЕвгенийП пишет:

Вы смысл его (конденсатора) понимаете?


Нет, но насколько я помню, в моей модели PL2303 нужно было время поймать когда кнопку жать. Видимо конденсатор обеспечивает какую-то задержку.

За другое не скажу, но в CH340 этот самый DTR кладётся на землю и лежит на ней пока идёт передача. Но это не то, что нам надо - нам надо перед передачей кратковременно нажать Reset и отпустить, чтобы вызвать перезагрузку. Поэтому между DTR и Reset ставится конденсатор. Когда DTR ляжет на землю, на Reset тоже появится земля, но по мере заряда конденсатора, высокий уровень на Reset восстановится. Вот и получается, что оно за нас кнопку нажало и отпустило. Потому с такой приблудой и не нужно самому кнопку ловить.

kuksha
Offline
Зарегистрирован: 18.04.2019

Понятно :)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

PL2303 и CP-чототам у меня нормально никогда не работали. 340 - без проблем. FTDI еще лучше, но палёнка есть на рынке, как пишут.

наоборот, FTDI иногда могут попасться оригинальные )))