Правильно понимаю, что о флаге "занят!" также, дополнительно, сообщает состояние Bit 7 – CHBUSY: Channel Busy в регистре CTRLB ? When the DMA channel starts a DMA transaction, the CHBUSY flag will be read as one.
This flag is automatically cleared when:
- the DMA channel is disabled,
- when the channel transaction complete interrupt flag is set
- or when the channel error interrupt flag is set.
Неужто в ATMEL, чтобы нам жизнь мёдом не казалась, решили сдублировать биты DMA.STATUS в CTRLB?
У меня сейчас только
while(DMA.STATUS & DMA_CH0BUSY_bm);