SPI falsche Frequenz

Gast #2522003
Lesenswert?

Hallo,

ich spiel zur Zeit ein bisschen mit dem SPI Bus meines 1284p rum. Leider 
liefert der nicht die gewünschte Frequenz. Mein Mikrocontroller taktet 
mit20Mhz, also müssten laut Datenblatt eine 0 an SPR0, SPR1 und SPI2X 
einen 5 Mhz Takt ergeben, tatsächlich hab ich aber irgendwie um die 150 
kHz laut meinem Oszilloskop. Hier mein Code?


1
void SPI_MasterInit(void)
2
{
3
/* Set MOSI and SCK output, all others input */
4
DDR_SPI = (1<<DD_MOSI)|(1<<DD_SCK) | (1<<DD_SS) | (1<<DD_RCK);
5

6
/* Enable SPI, Master, set clock rate fck/4 */
7
SPCR = (1<<SPE)|(1<<MSTR)|(0<<SPR0) |(0<<SPR1) |(0<<SPI2X);
8
}
Gast #2522080
Lesenswert?

>tatsächlich hab ich aber irgendwie um die 150
>kHz laut meinem Oszilloskop.

Wer viel misst misst Mist. Zeig den Rest von deinem Code.

>also müssten laut Datenblatt eine 0 an SPR0, SPR1 und SPI2X
>einen 5 Mhz Takt ergeben

Ja, passt schon bis auf das bereits erwähnte SPI2X.
Wirkt sich aber nicht aus.

Ich denke das was du da misst ist was ganz anderes
als du glaubst.

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