an portd kommt nix an.

Gast #2565335
Lesenswert?

hallo

hat jemand eine idee warum auf portd nix aus meinem array ankommt?
1
int main(void)
2
{   DDRD = 0xff; //alle zum Ausgang machen
3
  DDRB = (1<<PB0) ;
4
  while (1){ 
5
    PORTD = (Array[++frame]) ;
6
    PORTD = (1<<PD7); //PD0 = low -> LED an
7
    _delay_ms(100); //50 ms warten
8
    PORTD &= ~(1 << PD7);
9
    _delay_ms(100); 
10
    PORTB &= ~(1 << PB0);
11
    /*
12
    PORTD = frame); //
13
    PORTD = 1PD7); //PD0 = low -> LED an
14
    PORTD |= _BV(PD7); //PD0 = high -> LED aus
15
    _delay_ms(1); //50 ms warten
16
    */
17
    if (frame>32)
18
    {
19
      frame=1 ;
20
      PORTB = (1<<PB0);
21
    /*
22
    PORTB = (1<<PD0); //PD0 = low -> LED an
23
    _delay_ms(100); // ms warten
24
    PORTB &= ~(1 << PB0); //PD0 = high -> LED aus
25
        _delay_ms(100); // ms warten
26
        */ 
27
    };}  return(0);}
Gast #2565377
Lesenswert?

>    PORTD = (Array[++frame]) ;
>    PORTD = (1<<PD7); //PD0 = low -> LED an

Zwischen diesen Zeilen liegen Mikrosekunden und weniger. Bist du 
sicher, dass du messen kannst, was an PORTD passiert bzw. nicht 
passiert?

>    PORTD = (1<<PD7); //PD0 = low -> LED an
>    _delay_ms(100); //50 ms warten
>    PORTD &= ~(1 << PD7);

Möglicherweise ist die LED falsch angeschlossen z.B. an PD0, wie es der 
Kommentar andeutet.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren