maly222
@maly222
Бот

Какая может быть ошибка при прошивке atmega328p?

Есть микроконтроллер atmega328p.

Подключаю по этой схеме usbasp: 623593fb560f5109774149.jpeg

Код для мигание светодиодами:

#include <avr/io.h>

#include <util/delay.h>

#define MIG 300

#define VD PORTD

int main(void)

{

	DDRD = 0b000000011;

	while (1)

	{

		VD = 0b000000001; 

		_delay_ms(MIG);   

		VD = 0b000000000; 

		_delay_ms(MIG);   

		VD = 0b000000010;

		_delay_ms(MIG);    

		VD = 0b000000000; 

		_delay_ms(MIG);    

	}

}


Прошивка через avrdude 3.3.

Выдает ошибку при чтение мк. с окошком 'Ошибка'. Сталкивался ли кто то с подобной ошибкой?
  • Вопрос задан
  • 247 просмотров
Пригласить эксперта
Ответы на вопрос 1
@VT100
Embedded hardware & software.
Ноль - ИМС "чистая-с-завода" или б/у? См. комментарий mordo445. Если с завода - то она работает от внутреннего RC-генератора с частотой 1 МГц. Если б/у - возможны любые варианты. Попробуйте подать на XTAL1 частоту около 1 МГц через резистор в 51-150 Ом.
Перво-наперво - следует добиться, чтобы верно читалась идентификация ИМС (signature = 0x1E 95 0F). Это покажет, что работает тактовый генератор ИМС и верно идёт обмен данными между программатором и ИМС. Учтите, что тактовая частота обмена между программатором и ИМС должна быть в 4 и более раз нижа тактовой частоты ИМС. Попробуйте в настройках программатора снизить частоту обмена до минимума.
Два - проверить конфигурацию ИМС (считать fuse bit). См. комментарий mordo445. При необходимости - изменить. Семь раз - отмерь, один раз - отрежь. Есть риск "окирпичивания" ИМС. Особенно - неверной настройкой бита RSTDISBL.
Три - profit?

Используйте совет Армянское Радио.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы