P.S.
прошу сильно не пинать, т.к. новичек, спасибо.
По ДШ для регистров периферии существует вроде "значение по умолчанию", устанавливающееся при включении. Но побившись пару раз мордой об "один раз работает, другой раз нет", с тех пор обязательно инициализирую все используемые регистры. На умолчание надейся, но при рекламации спросят с тебя, а не с ребят из Сан-Хосе, штат Калифорния.nirq писал(а): Справедливо для не только ОЗУ, но и всего остального (читай "регистров с настройками для периферии").
Покажите Ваш исходник.maxrule писал(а):прошивка заново не стартует
Регистры периферии по сбросу (хоть power-up, хоть WDT) принимают эти значения по умолчанию. Инициализировать их нет никакой нужды. Никогда этим не занимаюсь. Если программа иногда не работает - искать нужно в другом месте. Например, неинициализированная переменная в ОЗУ.Jack_A писал(а):По ДШ для регистров периферии существует вроде "значение по умолчанию", устанавливающееся при включении. Но побившись пару раз мордой об "один раз работает, другой раз нет", с тех пор обязательно инициализирую все используемые регистры.
Код: Выделить всё
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB = 0xFF; //порт B на выход
PORTB = 0x00; //устанавливаем нули на выходе
while(1)
{
PORTB=0b00000001;
_delay_ms(500);
PORTB=0b00000000;
_delay_ms(500);
}
}класический пример как делать не надо - землю от кондесаторов кварца надо вести напрямую к ножке МК и как можно корочеmaxrule писал(а):возможно кондеры кварца далеко от микросхемы поставил ?
Дельный совет, попробуйте от внутреннего RC. С внешним кварцем есть простор для ляпов, проводящий флюс, например.Frogfot писал(а):попробуй от внутреннего RC завести
"Обвязка" громкий термин, а ещё есть "дропаут". На всякий случай.7805 с обвязкой
Как такое может быть, кнопка же закорачивает RESET на землю?maxrule писал(а):При сбросе (нажатие на кнопку) - напряжение между RESET и GND плавно падает (примерно 0.7 секунда)