Forum: Compiler & IDEs an portd kommt nix an.


von drahtigelgriller (Gast)


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);}

von Krapao (Gast)


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.

von astroscout (Gast)


Lesenswert?

je nach uC kann es ein, dass du die Fusebits für den Debug ändern musst.

von Thomas K. (muetze1)


Lesenswert?

mit anderen Worten: vllt. noch das JTAG auf PortD aktiviert? Aber wie 
gesagt, es hängt ganz von dem nicht genannten Controller ab...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.