Guest User

Untitled

a guest
Jun 19th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. DMAy_x = DMA1_Channel1;
  2. DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
  3. DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)dest;
  4. DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;
  5. DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
  6. DMA_InitStructure.DMA_Priority = DMA_Priority_High;
  7. DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;
  8. DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;
  9. DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
  10. DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
  11. DMA_InitStructure.DMA_BufferSize = 2; // in data unit
  12. DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&ADCx->DR;
  13. DMA_Init(DMAy_x, &DMA_InitStructure);
  14. DMA_Cmd(DMAy_x, ENABLE);
  15. ADCx = ADC1;
  16. ADC_Cmd(ADCx, DISABLE);
  17. while(ADCx->CR & ADC_CR_ADEN);
  18. ADC_DeInit(ADCx);
  19. ADC_InitTypeDef ADC_InitStructure;
  20. ADC_StructInit(&ADC_InitStructure);
  21. ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
  22. ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
  23. ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
  24. ADC_InitStructure.ADC_NbrOfRegChannel = 2;
  25. ADC_InitStructure.ADC_ExternalTrigEventEdge = ADC_ExternalTrigEventEdge_None;
  26. ADC_InitStructure.ADC_ExternalTrigConvEvent = ADC_ExternalTrigConvEvent_0;
  27. ADC_InitStructure.ADC_OverrunMode = ENABLE;
  28. ADC_InitStructure.ADC_AutoInjMode = DISABLE;
  29.  
  30. ADC_Init(ADCx, &ADC_InitStructure);
  31.  
  32. // Set up ADC channels
  33. for (uint16_t i = 0; i < nPins; ++i)
  34. {
  35. // make them regular channels with rank i +1, sample time is 19 ADC cycles
  36. ADC_RegularChannelConfig(ADCx, PIN_MAP[pinNames[i]].adcChannel, i + 1, ADC_SAMPLE_TIME);
  37. }
  38. ADC_DMAConfig(ADCx, ADC_DMAMode_Circular);
  39. ADC_DMACmd(ADCx, ENABLE);
  40. // Enable everything
  41. ADC_Cmd(ADCx, ENABLE);
  42. while (!(ADC_GetFlagStatus(ADCx, ADC_FLAG_RDY)));
  43. ADC_StartConversion(ADCx);
Add Comment
Please, Sign In to add comment