Нужна помощь по PD0, PD1 (Tx, Rx)

Нет ответов
hadamar
Offline
Зарегистрирован: 11.04.2016

Здравствуйте, имеется плата  Pro mini 5v. Не могу понять почему на пинах  PD0, PD1 всегда лог. "1" при следующем скетче: 

#include <avr/io.h>
#include <util/delay.h>
int main(void) {
  DDRD = 0xFF;
  DDRB = 0xFF;
  PORTD = 0x0;
  PORTB = _BV(0);
  while(1) {
    PORTD = 0xFF;
    _delay_ms(1000);
    PORTD = 0x0;
    _delay_ms(1000);
  }
  return 0;
}

Но если написать скетч через loop  и setup, то все работает как надо:

void setup() {
 DDRD = 0xFF;
 DDRB = 0xFF;
 PORTD = 0x0;
 PORTB = _BV(0);
}

void loop() {
   PORTD = 0xFF;
   _delay_ms(1000);
   PORTD = 0x0;
   _delay_ms(1000);
}

Как мне в первом варианте сделать по правильному?