Здравствуйте, начал осваивать ардуинку и столкнулся с проблемой. Что при подаче питания на плату, она сначала выполняет, что-то вроде тестирования(подает питание на порты), и только потом выполняет непосредственно заданную программу. Как можно избавиться от данного действия?
Что бы избавиться от "данного действия", нужно очень хорошо разбираться в микроконтроллерах семейства AVR и иметь в наличие программатор, которым будете программировать свою Arduino. Суть действа в том, что при старте (перезагрузке) сначала начинает работать загрузчик, который ждёт около 2 сек (не помню точно -- надо смотреть исходники загрузчика, если интересно смотрите сами) и, если в течении этого времени не было принято ни одного байта по USART, то срабатывает watchdog, который перегружает контроллер, но уже запуская основную (пользовательскую) программу. Для чего? -- Для возможности перепрошивать микроконтроллер по последовательному порту (USART). Любые данные принятые из последовательного порта (переданные с компьютера на микрконтроллер) в течении первых 2-х секунд загрузчик микроконтроллера рассматривает как команды для перепрошивки "пользовательской" части памяти. Как избавиться? -- Взять программатор и с его помощью: во-первых изменить фьюз 'BOOTRST' -- он отвечает за запуск загрузчика при перезагрузке микроконтроллера; во-вторых зашить свою прошивку (впрочем все последующие прошивки придётся зашивать с помощью программатора, т.к. загрузчик перестанет функционировать).