Beispiel #1
0
uint32_t mountain_get_element(uint32_t idx) {
    if (idx < mountain_length()) {
        return table_mountain[idx];
    } else {
        for(;;);
    }
}
Beispiel #2
0
static void init_dma(void) {
    RCC->AHBENR |= RCC_AHBENR_DMAEN;
    DMA1_Channel2->CPAR = (uint32_t)(&(DAC->DHR12R1));
    DMA1_Channel2->CMAR = (uint32_t)table_mountain;
    DMA1_Channel2->CNDTR = mountain_length();
    DMA1_Channel2->CCR |= DMA_CCR_DIR;  //read from memory
    DMA1_Channel2->CCR |= DMA_CCR_CIRC;
    DMA1_Channel2->CCR |= DMA_CCR_PSIZE_0; //half word
    DMA1_Channel2->CCR |= DMA_CCR_MSIZE_0; //half word
    DMA1_Channel2->CCR |= DMA_CCR_MINC;
    DMA1_Channel2->CCR |= DMA_CCR_EN;
}