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? ;)
Gast
#2707311
Take a look at this;) Beitrag "Re: SDCard, Widerstands-Level-Converter, Speed?"
Oh... hatte nicht mehr damit gerechnet, das da wer antwortet... sry ;)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.