Hi, irgendwer riet mir, doch mal meinen USART für SPI zu benutzen anstelle des Hardware-SPI, da aufgrund des 2 Byte Puffers beim ATMega 1284P der wohl schneller sein sollte. Ich habe es mal versucht.... Ich initialisiere die SD-Card mit 40.000 Baud. Dann, vor der Datensenderei, stelle ich die wohl maximal mögliche Baudrate von 1.152.000 Baud ein (habe 18,4320Mhz). 2x-Mode kann ich scheinbar nicht setzen, da das wohl laut Datenblatt nur im Async-Mode geht, aber nicht im Master-Mode (und mein USART läuft ja im SPI Master Mode)?! Mit dem Hardware-SPI komme ich beim 512Byte-Blöcke-lese von meiner Karte auf ca. 440 KB/Sek. Mit dem SPI über den USART komme ich nur auf 105 KB/Sek. Mein Code basiert auf dem Code von AVR (AVR317: Using the USART on the ATmega48/88/168 as a SPI master (MSPIM)) Ich habe mal mein main.c hier hingepackt: http://pastie.org/4045490 Hinweis: die uart_... Funktionen arbeiten nur mit dem UART0 an welchem ich ein 9600 8N1 Terminal hängen habe. Wie werde ich schneller? ;)
Oh... hatte nicht mehr damit gerechnet, das da wer antwortet... sry ;)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.