arduino pro mikro

MaxPain83
Offline
Зарегистрирован: 06.10.2015

Здравстуйте,может,кто сталкивался с таким. Установил штатный скетч для проверки Blink,только заменил на 4 pin и подключил внешний светодиод 

[code]
int ledPin = 4;
 
void setup()
{
  pinMode(ledPin, OUTPUT);
}
 
void loop()
 
 
{
  digitalWrite(ledPin, HIGH);
  delay(500);
  digitalWrite(ledPin, LOW);
  delay(500);
}
 
[/code]
 
После заливки всё работает идеально,но стоит передернуть питание(usb),как сетодиод начинает мигать с интервалом раз в 10 больше положенных 500мс,на глаз 5-6секунд. Пробовал и друге скетчи,везде наблюдается такая заторможенность причем именно после снятия питания. Кривой загрузчик? Где можно его взять на эту шарманку?
dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

MaxPain83, а если так?

#include "util\delay.h"
void setup() {
  pinMode(4, OUTPUT);
}
void loop() {
  digitalWrite(4, HIGH);  
  _delay_ms(500);             
  digitalWrite(4, LOW); 
  _delay_ms(500);    
}

 

MaxPain83
Offline
Зарегистрирован: 06.10.2015

Тоже самое(

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

MaxPain83, а попробуйте с открытым сериал-монитором влить этот скетч, что напишет в сериал?

void setup() {
Serial.begin(9600);
Serial.print(F_CPU);
}
void loop() {}

а потом передёрнуть usb и снова посмотреть что напишет.

MaxPain83
Offline
Зарегистрирован: 06.10.2015

Если я все правильно понял. Подключил rpo mikro у меня она на com9(leonardo) - открыл монитор - залил скетч - появляется com10 и монитор автоматом встаёт на нём,ни каких записай нет,ни до ни после передёргивания

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

MaxPain83, да стоит видимо загрузчик перезалить..

MaxPain83
Offline
Зарегистрирован: 06.10.2015

Эхх...еслиб подсказали где его искать,да как ставить

MaxPain83
Offline
Зарегистрирован: 06.10.2015

Вообщем победил...ну как сказать победил,костыль нашёл. После подключения дожидаемся загрузки,далее делаем резет...и всё отлично работает. Не подскажете как записать софтварный резет,что бы можно было в любом скетче использовать...вдруг сработает?

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

а F_CPU - это что за переменная?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Tomasina, константа с тактовой частотой контроллера.

MaxPain83
Offline
Зарегистрирован: 06.10.2015

Решил проблему окончательно. Действительно загрузчик какойто кривой китайцы поставили. Прошивал через avrisp mk2,изначально думал,что бутлоудер нужно шить через Atmel Studio,отсюда сделал вывод,что нужен файлик с самим загрузчиком .h Но в корне ошибся,загрузчик шьётся,через родное приложение adruino,соеденяем ispишные концы с программатором,подключаем по usb программатор и adruino,дальше просто выбираем свою модель программатора и жмём записать загрузчик,единственный подводный камень был в дровах,с родными шиться ни как не хотел только на этих http://www.visualmicro.com/post/2014/01/17/AvrIsp-MkII-Usb-Driver-for-Arduino.aspx  Думаю таким макаром можно оживить любую adruino (если дело совсем плохо и она не определяется по usb,можно попробовать подавать питание напрямую vcc и gnd из программатора)

Maverik
Offline
Зарегистрирован: 12.09.2012

MaxPain83 пишет:

Думаю таким макаром можно оживить любую adruino (если дело совсем плохо и она не определяется по usb,можно попробовать подавать питание напрямую vcc и gnd из программатора)

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

virtualoftheday
Offline
Зарегистрирован: 10.10.2015

Подтверждаю сказанное - неделю назад купил Pro Micro в Москве и столкнулся с точно таким же поведением платы.

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

В результате взял у коллеги AVR-Doper (совместим с Atmel STK500 в ардуиновской программе), залил и все работает нормально.

MaxPain83
Offline
Зарегистрирован: 06.10.2015

Всё такие из 3-х штук только одну удалось прошить через Arduino-вскую программу. Стал курить тему,что с этим можно сделать,всю инфу нашёл на этом же форуме. Сам загрузчик все же есть и для леонардо это Caterina-Leonardo.hex,засунул его в AVR STUDIO и....из 2-ух оставшихся,одна благополучно померла,по SPI до неё теперь не достучатся(((,видать всё таки камень какойто битый был,вторая нормально прошилась и заработала как нужно.