Hallo zusammen!
Ich hab die Suchfunktion schon gequält, aber hab keine Lösung gefunden.
Ich will bei einem ATTiny88 (mit int. Osz. 8 MHz) SPI mit fOsc/2 laufen
lassen. Ergo versuche ich das Bit für SPI2X zu setzen.
Aber egal ob das Bit 0 oder 1 ist, mein Oszi zeigt am SCK-Port die selbe
Ausgangsfrequenz an.
Warum geht das nicht?????
Danke und Gruß
Joachim
Hier die Init-Funktion
1 | void spi_init(void) {
|
2 | // SCK, MOSI, SS als Ausgang
|
3 | DDRB |= (1<<PB5) | (1<<PB3) | (1<<PB2);
|
4 |
|
5 | // Als Master, SPI Enable (Mode 0, Clock hier fOsc/4)
|
6 | SPCR |= (1<<SPE) | (1<<MSTR);
|
7 |
|
8 | // Und bitte fOsc/2 --> Tut sich nix
|
9 | SPSR |= (1<<SPI2X);
|
10 |
|
11 | // Ein Dummy-Byte auf den Ausgang schreiben
|
12 | SPDR = 0xFF;
|
13 | }
|