нет сброситься только при записи в SPI_DATA
код ASM
-----
DMA_INIT:
stsi DMA_CTRL,(DMA_DBUFMODE_DISABLED_gc)+(DMA_PRIMODE_RR0123_gc)
;
DMA_CH0_TRANSFER:
stsi DMA_CH0_ADDRCTRL,(DMA_CH_SRCRELOAD_NONE_gc)+(DMA_CH_SRCDIR_FIXED_gc)+(DMA_CH_DESTRELOAD_TRANSACTION_gc)+(DMA_CH_DESTDIR_INC_gc)
;
stsi DMA_CH0_CTRLA,(DMA_CH_BURSTLEN_1BYTE_gc)+(DMA_CH_SINGLE_bm)
;
stsi DMA_CH0_TRIGSRC,(DMA_CH_TRIGSRC_SPIE_gc)
;
stsi DMA_CH0_SRCADDR0,BYTE1(SPIE_DATA)
stsi DMA_CH0_SRCADDR1,BYTE2(SPIE_DATA)
;
stsi DMA_CH0_DESTADDR0,BYTE1(BUFER_SD_CARD) ;
stsi DMA_CH0_DESTADDR1,BYTE2(BUFER_SD_CARD) ;
;
stsi DMA_CH0_TRFCNT,LOW(512+2)
stsi DMA_CH0_TRFCNT+1,HIGH(512+2)
;
DMA_CH1_TRANSFER:
;
stsi DMA_CH1_ADDRCTRL,(DMA_CH_SRCRELOAD_NONE_gc)+(DMA_CH_SRCDIR_FIXED_gc)+(DMA_CH_DESTRELOAD_NONE_gc)+(DMA_CH_DESTDIR_FIXED_gc)
;
stsi DMA_CH1_CTRLA,(DMA_CH_BURSTLEN_1BYTE_gc)+(DMA_CH_SINGLE_bm)
;
stsi DMA_CH1_TRIGSRC,(DMA_CH_TRIGSRC_SPIE_gc)
;
stsi DMA_CH1_SRCADDR0,BYTE1(STR_CMD_SD_CARD+OFFSET_SD_CRC7); здесь $ff
stsi DMA_CH1_SRCADDR1,BYTE2(STR_CMD_SD_CARD+OFFSET_SD_CRC7)
;
stsi DMA_CH1_DESTADDR0,BYTE1(SPIE_DATA)
stsi DMA_CH1_DESTADDR1,BYTE2(SPIE_DATA)
;
stsi DMA_CH1_TRFCNT,LOW(512+2)
stsi DMA_CH1_TRFCNT+1,HIGH(512+2)
;
LDS TEMP,DMA_CTRL
STBR TEMP,DMA_ENABLE_bp
STS DMA_CTRL,TEMP
;
; STSI DMA_CH0_CTRLB,(DMA_CH_TRNINTLVL_LO_gc)+(DMA_CH_ERRINTLVL_LO_gc)