Vielen Dank, nachrechnen hätte man mal sollen :-/
Ich habe jetzt die folgenden Sachen geändert:
1 | DMA.CH0.TRFCNT=0x03E8; // Blocksize=1K bytes 16bit register =1kbytes
|
2 |
|
3 | DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_NONE_gc // Source address reload mode : _NONE, BLOCK, BURST, TRANSACTION
|
4 | | DMA_CH_SRCDIR_INC_gc // Source addressing mode: FIXED, INC, DEC
|
5 | | DMA_CH_DESTRELOAD_NONE_gc // Destination adress reload mode: NONE, BLOCK, BURST, TRANSACTION
|
6 | | DMA_CH_DESTDIR_INC_gc; // Destination adressing mode: FIXED, INC, DEC
|
Jetzt erkennt er in der Abfrage leider keine beendigung dieser Aufgabe
und selbst wenn ich bei der Abfrage nach 5 Sekunden einen Breakpoint
setze, ist das gewünschte Array leider leer.
Edit:
Jetzt habe ich wie gewünscht die Destaddr und Srcaddr geändert, aber
erhalte die Fehlermeldung aus dem Anhang.
1 | DMA.CH0.DESTADDR0 = umsatz & 0xFF;
|
2 | DMA.CH0.DESTADDR1 = (umsatz >> 8)& 0xFF;
|
3 | DMA.CH0.DESTADDR2 = (umsatz >> 16)& 0xFF; //bzw. 0x00
|
4 | DMA.CH0.SRCADDR0 = gewinn & 0xFF;
|
5 | DMA.CH0.SRCADDR1 = (gewinn >> 8)& 0xFF;
|
6 | DMA.CH0.SRCADDR2 = (gewinn >> 16)& 0xFF; //bzw. 0x00
|
das gleiche bei:
1 | DMA.CH0.DESTADDR0 =&umsatz[0] >> 0xFF
|
Jetzt werde ich mal dort weiter schauen. Vielen Dank