Hi, weiß jemand worauf die Zeiger zeigen? unsigned char data[512]; // das Array wird mit irgend welchen Daten gefüllt // ... *AT91C_SPI_TPR = data; // Adresse des Arrays *AT91C_SPI_TCR = sizeof(data); // Anzahl der zu übertragenden Datenworte (hier Bytes) *AT91C_SPI_PTCR = AT91C_PDC_TXTEN; // Transfer starten while(! (*AT91C_SPI_SR & AT91C_SPI_ENDTX)); // auf das Ende der Übertragung warten *AT91C_SPI_PTCR = AT91C_PDC_TXTDIS; // DMA deaktivieren Quelle: Artikel: "DMA-Controller" hier im Netz Vielen Dank!
avrprogger schrieb: > Hi, weiß jemand worauf die Zeiger zeigen? Na, auf die den DMA-Controller steuernden Register. Näheres wirst Du im Programmierhandbuch des verwendeten ARMs* von Atmel finden können. Immerhin steht direkt über dem von Dir zitierten Codeschnipsel das hier:
1 | Beim AT91SAM7 sieht das unter Verwendung des sogenannten |
2 | "Peripheral DMA Controller" (PDC) z. B. so aus: |
*) wofür sonst mag das AT91C_ in den Registernamen stehen?
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.