And this is the DMA:
```
 let channel = unsafe { &*DMA1::ptr() }.ch(Self::INDEX);
        channel
            .ndtr()
            .write(|w| unsafe { w.ndt().bits(buffer.len() as u16) });
        channel.cr().modify(|_, w| {
            w.pl().very_high();
            w.msize().bits16();
            w.psize().bits16();
            w.minc().enabled();
            w.pinc().disabled();
            w.circ().enabled();
            w.dir().from_peripheral();
            w
        });

        channel
            .par()
            .write(|w| unsafe { w.bits((*ADC::ptr()).dr().as_ptr() as u32) });
        channel
            .mar()
            .write(|w| unsafe { w.bits(buffer.as_ptr() as u32) });

        unsafe { &*DMAMUX::ptr() }.ccr(Self::INDEX).modify(|_, w| {
            w.dmareq_id().bits(Self::MUX_REQ_ID);
            w.ege().set_bit();
            w
        });
```