Цитата(ukpyr @ Mar 9 2011, 12:00)

Какой частоты выборок можно достичь при пересылках DMA порт-память на STM32 при условии что вся остальная периферия остановлена ?
Провел эксперимент. Получается частота ровно 1 / 10 тактовой, т.е. при 8 МГц данные в порт льются 800КГц.
Код:
Код
unsigned int i;
unsigned char buff1[256];
RCC->APB2ENR|=RCC_APB2ENR_IOPAEN;
GPIOA->CRL= GPIO_CRL_MODE3_1 | GPIO_CRL_MODE3_0 |
GPIO_CRL_MODE2_1 | GPIO_CRL_MODE2_0 |
GPIO_CRL_MODE1_1 | GPIO_CRL_MODE1_0 |
GPIO_CRL_MODE0_1 | GPIO_CRL_MODE0_0;
for(i=0;i<256;i++)buff1[i]=i;
RCC->AHBENR|=RCC_AHBENR_DMA1EN;
DMA1_Channel1->CCR=DMA_CCR1_MEM2MEM | DMA_CCR1_PL_1 | DMA_CCR1_PL_0 |
DMA_CCR1_PINC | DMA_CCR1_CIRC;
DMA1_Channel1->CNDTR = 256;
DMA1_Channel1->CPAR = (uint32_t)buff1;
DMA1_Channel1->CMAR = (uint32_t)&GPIOA->ODR;
DMA1->IFCR = DMA_IFCR_CGIF1 | DMA_IFCR_CTCIF1 | DMA_IFCR_CTEIF1;
DMA1_Channel1->CCR|=DMA_CCR1_EN;
От размерности данных скорость не зависит