ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
2 июля
362303
KT (16.10.2012 17:36, просмотров: 20395)
STM32F051, работа ADC совмесно с DMA  Вот кусок кода стыреный из примера к STM32F0Discovery. DMA_DeInit(DMA1_Channel1); DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)ADC1_DR_Address; DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)RegularConvData_Tab; DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; DMA_InitStructure.DMA_BufferSize = 3; DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; DMA_InitStructure.DMA_Priority = DMA_Priority_High; DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; DMA_Init(DMA1_Channel1, &DMA_InitStructure); Получение результата АЦП выглядит следующим образом while((DMA_GetFlagStatus(DMA1_FLAG_TC1)) == RESET ); /* Clear DMA TC flag */ DMA_ClearFlag(DMA1_FLAG_TC1); a1=RegularConvData_Tab[2]; a2=RegularConvData_Tab[1]; a3=RegularConvData_Tab[0]; Пример заработал без проблем. Вопрос - следующий скан каналов АЦП будет при очистке флага DMA1_FLAG_TC1, или преобразование происходит непрерывно?