SPI macht Reset

OP #1180483
Lesenswert?
• ▲
▼
Hallo an alle,

leider werde ich aus den anderen Forumsbeiträgen auch nciht schlauer :-( 
Daher ggf. ein Tipp von euch. Ich bin derzeit wieder am programmieren 
und kriege gerade die Krise...

Ich habe bis heute morgen ein lauffähiges Programm(AVR-GCC) gehabt. Dann 
nur eben ein Wert geändert und schwups geht nix mehr auf meinem SPI 
Port. Ich habe ein Oscar drangehangen und festgestellt, dass der 
uC(ATmega) immer nach der SPI-Initialisierung abschmiert.. Habe alles 
bis auf die Initialisierung entfernt.
1
void SPI_MasterInit(void)
2
{
3
DDRB = 0x07;  
4
SPCR =      (1 << MSTR) | (1 << SPE) |(0 << DORD) | (1 << CPOL) | (1 << CPHA) |   (1 << SPR1) | (1 << SPR0);
5
SPDR = 0xFF; 
6
PORTC = 0xff;
7
}
8

9
void main(void)
10
{
11
DDRC = 0xff;
12
PORTC = 0xff;
13
SPI_MasterInit();  //Initialisieren und PORTC Ausgänge auf High setzen
14
//sei();             // Sei() freischalten
15
  while(1)
16
  {
17
// bis hierhin kommt er erst gar nicht!
18
  }
19
  
20
}

Habe die anderen machenschaften meines Codes erstmal gelöscht bzw. 
auskommentiert. Auch mit oder ohne sei(); ändert sich kein Verhalten. 
Reset Pegel immer auf HIGH!! Warum macht er dann einen Reset ?

Achso, sehe im Oscar, dass er immer das SPDR zum "starten" rausschickt, 
also Reset!!

gruß

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