SciFi (30.11.2015 13:26, просмотров: 213) ответил Nikolay801_ на я в четверке вот так делаю, у двушки по моему будет также.
Гы, меня эти блюмюлюатеки веселят каждый раз :-) DMA2_Stream0->M0AR = (int)dmabuf[0];
DMA2_Stream0->M1AR = (int)dmabuf[1];
DMA2_Stream0->PAR = (int)&ADC1->DR;
DMA2_Stream0->NDTR = ADCBIAS_BUFSIZE;
DMA2_Stream0->CR = (7 << 25) // select channel 7
| DMA_SxCR_DBM // double buffer mode
| DMA_SxCR_PL_0 // medium priority
| DMA_SxCR_MSIZE_0 // memory size = 16 bits
| DMA_SxCR_PSIZE_0 // peripheral size = 16 bits
| DMA_SxCR_MINC // memory address increment
| DMA_SxCR_CIRC // circular mode
| DMA_SxCR_TCIE; // transfer complete interrupt enable
DMA2_Stream0->FCR = DMA_SxFCR_DMDIS // direct mode disable
| DMA_SxFCR_FTH_0; // FIFO threshold = 1/2
DMA2_Stream0->CR |= DMA_SxCR_EN; // enable stream
ADC1->CR2 = ADC_CR2_EXTEN_0 // rising edge triggers conversion
| (6 << 24) // trigger = TIM2_TRGO
| ADC_CR2_DDS // DMA disable selection
| ADC_CR2_ADON; // wake ADC1
ADC1->SMPR2 = ADC_SMPR2_SMP0_2; // sample time for ch0 = 84 cycles
TIM2->ARR = 749;
TIM2->CR2 = TIM_CR2_MMS_1; // TRGO = update
TIM2->CR1 = TIM_CR1_CEN; // start timer
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้