SPI bei Atmega324PV möchte einfach nicht

OP #2897657
Lesenswert?

Guten Abend zusammen


Ich habe hier ein kleines Board mit einem Atmgega324PV darauf.

Dieser hat einen 10MHz Quarz angeschlossen.
Am SPI hängen 2 "devices" welche den ChipSelect auf high haben
und somit nicht aktiv sind.

Ich versuche über folgenden Code überhaupt mal irgend etwas auf dem SPI 
auszugeben.
1
int main(void)
2
{
3
  //Eingänge
4
  DDRB &= ~((1 << DDB3) | (1 << DDB4) | (1 << DDB6));
5
  DDRD &= ~((1 << DDD0) | (1 << DDD3) | (1 << DDD2) | (1 << DDD6));
6

7

8
  //Ausgänge
9
  DDRB |= (1 << DDB0) | (1 << DDB1) | (1 << DDB2) | (1 << DDB5) | (1 << DDB7);
10
  DDRD |= (1 << DDD1) | (1 << DDD4);
11
  DDRC |= (1 << DDC0) | (1 << DDC1) | (1 << DDC3) | (1 << DDC4) | (1 << DDC5) | (1 << DDC6) | (1 << DDC7);
12

13

14
  PHY_CS_1;
15
  CC2500_CS_1;
16
  PHY_RST_0;
17

18
  SPCR = (1<<MSTR) | (1<<SPE) | (1<<SPR0);
19

20
  unsigned char ucCounter = 0;
21

22
  while(1)
23
  {
24
    LED_ACT_1;
25
    SPDR = ucCounter;
26
    _delay_ms(100);
27
    while(!(SPSR & (1<<SPIF)));
28
    LED_ACT_0;
29
    _delay_ms(200);
30
                ucCounter++;
31

32
  }
33

34
}

Doch leider klappt dies nicht.

Ich komme nicht über das While hinaus. doch weshalb?

Ich habe keine Ahnung wo hier des Fehler steckt!

Hoffentlich kann mir hier jemand helfen :)


Danke schonmal

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