Hallo Forum,
leider kann ich mit meinem Atmega8 SPI im Master mode nicht zur
Mitarbeit ueberreden - es passiert garnichts. Weder an SCK noch an MOSI.
Ich verwende folgenden Code:
1 | void spi_master_init(void)
|
2 | {
|
3 | DDR_SPI |= (1 << DISP_SI) | (1 << DISP_CLK);
|
4 |
|
5 | /* SPE: SPI enable
|
6 | * MSTR: SPI master mode
|
7 | * CPOL: clock polarity (high when idle)
|
8 | * CPHA: clock phase (trailing edge)
|
9 | * frequency: F_OSC/32 => 250KHz
|
10 | */
|
11 | SPCR |= (1 << SPE) | (1 << MSTR) | (1 << CPOL) | (1 << CPHA) | (1 << SPI2X) | (1 << SPR1);
|
12 | _delay_ms(100);
|
13 | }
|
Hinweis: SS ist als Output konfiguriert. Das sollte aber keine Probleme
machen duerfen. Im Master Mode ist SS nach Datenblatt konfigurierbar und
ein "general output". Als solchen verwende ich ihn derzeit auch (habe
eine LED dran), er ist also als Ausgang konfiguriert.
Initial setze ich PortB komplett als Output.
Worin koennte das Problem bestehen?
Danke fuer Eure Hilfe.
P.S. Ein kleiner Abschnitt zu SPI im Tutorial waere mal nicht schlecht.
Gruss,
Michael