Не прошивается ATMega328P

michaelukolov
Offline
Зарегистрирован: 16.04.2015
В последний раз залил такую прошивку:
void setup() {
  // put your setup code here, to run once:
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(2, INPUT);
pinMode(3, INPUT);
}

int buttonState1 = 0;
int buttonState2 = 0;

void loop() {
buttonState1 = digitalRead(2);
buttonState2 = digitalRead(3);
if(buttonState1 == HIGH) 
{
    digitalWrite(13, HIGH);
} 
else 
{
    digitalWrite(13, LOW);
}
if(buttonState2 == HIGH) 
{
    digitalWrite(12, HIGH);
} 
else 
{
    digitalWrite(12, LOW);
}
}

После этого ATMega328P перестала определяться программатором, а светодиоды на 12 и 13 пинах горят. Если замкнуть 2 или 3 пин на землю, то они тухнут.

Фьюзы не трогал. Что делать?

Штирлиц
Штирлиц аватар
Offline
Зарегистрирован: 13.06.2015

Вот , одолжил хрустальный шар у Пухлявого и он (шар ) говорит что вы неправильно прошивали  Atmega 328P  . Какого цвета нитками прошили?

michaelukolov
Offline
Зарегистрирован: 16.04.2015

Шил как и раньше, программатором Громова. До этого проблем не было. Возможно, что светодиоды мешают?

Штирлиц
Штирлиц аватар
Offline
Зарегистрирован: 13.06.2015

А как ты раньше  шил - нам шар (здравья пропавшему Пухлику) не кажет! Аш страннну!Колись , не жмись как ты колдовал?

 

Штирлиц
Штирлиц аватар
Offline
Зарегистрирован: 13.06.2015

:)

michaelukolov
Offline
Зарегистрирован: 16.04.2015

MOSI -> MOSI

SCK -> SCK

MISO -> MISO

RESET -> RESET

Питание брал 3.3В.

Из программ юзал uniprof и sinaprof, обе отлично с ним работали.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

michaelukolov пишет:

void loop() {
buttonState1 = digitalRead(2);
buttonState2 = digitalRead(3);
if(buttonState1 == HIGH) 
{
    digitalWrite(13, HIGH);
} 
else 
{
    digitalWrite(13, LOW);
}
if(buttonState2 == HIGH) 
{
    digitalWrite(12, HIGH);
} 
else 
{
    digitalWrite(12, LOW);
}
}

Я фигею от таких исходников.

void loop() {
    digitalWrite(13, digitalRead(2));
    digitalWrite(12, digitalRead(3));
}
kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

andriano пишет:

michaelukolov пишет:

void loop() {
buttonState1 = digitalRead(2);
buttonState2 = digitalRead(3);
if(buttonState1 == HIGH) 
{
    digitalWrite(13, HIGH);
} 
else 
{
    digitalWrite(13, LOW);
}
if(buttonState2 == HIGH) 
{
    digitalWrite(12, HIGH);
} 
else 
{
    digitalWrite(12, LOW);
}
}

Я фигею от таких исходников.

void loop() {
    digitalWrite(13, digitalRead(2));
    digitalWrite(12, digitalRead(3));
}

Нормальный исходник, тем более неизвестно, что ещё с данными о состоянии пинов 2 и 3 захочет делать автор. Тем более он не написал, что это готовый проект.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

kisoft пишет:

Нормальный исходник, тем более неизвестно, что ещё с данными о состоянии пинов 2 и 3 захочет делать автор. Тем более он не написал, что это готовый проект.

Если это фрагмент, то все равно:

void loop() {
buttonState1 = digitalRead(2);
buttonState2 = digitalRead(3);
digitalWrite(13, buttonState1);
digitalWrite(12, buttonState2);
}
michaelukolov
Offline
Зарегистрирован: 16.04.2015

Меня больше интересует не код, а как теперь прошить МК.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Запороли вы что-то.
Сначала проверьте подключение.
Снова подключение.
И снова подключение.
Прозвоните всё.

michaelukolov
Offline
Зарегистрирован: 16.04.2015

Подключил как должно быть. Вставил 48'ую мегу - определяется без проблем, только отключив питание (не отключая пины программатора) вставил 328'ую вместо 48'ой - не определяется.