Forum: Mikrocontroller und Digitale Elektronik SPI bei Atmega324PV möchte einfach nicht


von C. H. (hedie)


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

von H.Joachim S. (crazyhorse)


Lesenswert?

PortB.4 (SS) sollte schon mal auf jeden Fall als Ausgang gesetzt sein.

von C. H. (hedie)


Lesenswert?

H.joachim Seifert schrieb:
> PortB.4 (SS) sollte schon mal auf jeden Fall als Ausgang gesetzt sein.

Das klappt wirklich :) Danke!

Aber ich möchte den SS Ausgang nicht nutzen. gibt es eine möglichkeit 
diesen zu deaktivieren?

Ich benötige PB4 als Eingang.

von Spess53 (Gast)


Lesenswert?

Hi

>Ich benötige PB4 als Eingang.

Sieh dir im Datenblatt :

15.3 SS Pin Functionality

an.

MfG Spess

von C. H. (hedie)


Lesenswert?

Spess53 schrieb:
> Hi
>
>>Ich benötige PB4 als Eingang.
>
> Sieh dir im Datenblatt :
>
> 15.3 SS Pin Functionality
>
> an.
>
> MfG Spess

Wenn ich dies richtig verstehe, gibt es keine Möglichkeit, die SS Pin 
Funktion zu deaktivieren.

von Spess53 (Gast)


Lesenswert?

Hi

>Wenn ich dies richtig verstehe, gibt es keine Möglichkeit, die SS Pin
>Funktion zu deaktivieren.

Siehst du richtig.

MfG Spess

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.