ReSpeaker DSP V02
Dependencies: mbed MbedJSONValue
adc_init.h@13:c0a13a99905e, 2019-06-08 (annotated)
- Committer:
- Arkadi
- Date:
- Sat Jun 08 11:02:34 2019 +0000
- Revision:
- 13:c0a13a99905e
- Parent:
- 1:574b54755983
added play file option
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Arkadi | 1:574b54755983 | 1 | //////////////////////// |
Arkadi | 1:574b54755983 | 2 | // ADC Init functions // |
Arkadi | 1:574b54755983 | 3 | //////////////////////// |
Arkadi | 1:574b54755983 | 4 | |
Arkadi | 1:574b54755983 | 5 | /* ADC1 init function */ |
Arkadi | 1:574b54755983 | 6 | void ADC1_Init(void) |
Arkadi | 1:574b54755983 | 7 | { |
Arkadi | 1:574b54755983 | 8 | |
Arkadi | 1:574b54755983 | 9 | ADC_ChannelConfTypeDef sConfig; |
Arkadi | 1:574b54755983 | 10 | |
Arkadi | 1:574b54755983 | 11 | // Common config |
Arkadi | 1:574b54755983 | 12 | hadc1.Instance = ADC1; // |
Arkadi | 13:c0a13a99905e | 13 | hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4; // ADC_CLOCK_SYNC_PCLK_DIV2 - div2 is above physical recomendetion, div4 is about 1.25 mhz |
Arkadi | 1:574b54755983 | 14 | hadc1.Init.Resolution = ADC_RESOLUTION12b; // |
Arkadi | 1:574b54755983 | 15 | hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; // |
Arkadi | 1:574b54755983 | 16 | hadc1.Init.ScanConvMode = DISABLE; // |
Arkadi | 1:574b54755983 | 17 | hadc1.Init.EOCSelection = DISABLE; // |
Arkadi | 1:574b54755983 | 18 | hadc1.Init.ContinuousConvMode = ENABLE; // |
Arkadi | 1:574b54755983 | 19 | hadc1.Init.DMAContinuousRequests = ENABLE; // |
Arkadi | 1:574b54755983 | 20 | hadc1.Init.NbrOfConversion = 1; // |
Arkadi | 1:574b54755983 | 21 | hadc1.Init.DiscontinuousConvMode = DISABLE; // |
Arkadi | 1:574b54755983 | 22 | hadc1.Init.NbrOfDiscConversion = 0; // |
Arkadi | 1:574b54755983 | 23 | hadc1.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T1_CC1; // |
Arkadi | 1:574b54755983 | 24 | hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; // |
Arkadi | 1:574b54755983 | 25 | if (HAL_ADC_Init(&hadc1) != HAL_OK) { |
Arkadi | 1:574b54755983 | 26 | printf("!!! Error in ADC initialization !!!\n"); |
Arkadi | 1:574b54755983 | 27 | } |
Arkadi | 1:574b54755983 | 28 | |
Arkadi | 1:574b54755983 | 29 | // Configure Regular Channel |
Arkadi | 1:574b54755983 | 30 | sConfig.Channel = ADC_CHANNEL_0; |
Arkadi | 1:574b54755983 | 31 | sConfig.Rank = 1; |
Arkadi | 1:574b54755983 | 32 | //sConfig.SingleDiff = ADC_SINGLE_ENDED; |
Arkadi | 1:574b54755983 | 33 | sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES; |
Arkadi | 1:574b54755983 | 34 | sConfig.Offset = 0; |
Arkadi | 1:574b54755983 | 35 | if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) { |
Arkadi | 1:574b54755983 | 36 | printf("!!! Error in ADC channel initialization !!!\n"); |
Arkadi | 1:574b54755983 | 37 | } |
Arkadi | 1:574b54755983 | 38 | } |
Arkadi | 1:574b54755983 | 39 | |
Arkadi | 1:574b54755983 | 40 | /* DAC1 init function */ |
Arkadi | 1:574b54755983 | 41 | void DAC1_Init(void) |
Arkadi | 1:574b54755983 | 42 | { |
Arkadi | 1:574b54755983 | 43 | |
Arkadi | 1:574b54755983 | 44 | DAC_ChannelConfTypeDef sConfig; |
Arkadi | 1:574b54755983 | 45 | |
Arkadi | 1:574b54755983 | 46 | // DAC Initialization |
Arkadi | 1:574b54755983 | 47 | hdac1.Instance = DAC; |
Arkadi | 1:574b54755983 | 48 | if(HAL_DAC_Init(&hdac1) != HAL_OK) { |
Arkadi | 1:574b54755983 | 49 | printf("!!! Error in DAC initialization !!!\n"); |
Arkadi | 1:574b54755983 | 50 | } |
Arkadi | 1:574b54755983 | 51 | |
Arkadi | 1:574b54755983 | 52 | // DAC channel OUT1 config |
Arkadi | 1:574b54755983 | 53 | sConfig.DAC_Trigger = DAC_TRIGGER_NONE; |
Arkadi | 1:574b54755983 | 54 | sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE; |
Arkadi | 1:574b54755983 | 55 | if (HAL_DAC_ConfigChannel(&hdac1, &sConfig, DAC_CHANNEL_1) != HAL_OK) { |
Arkadi | 1:574b54755983 | 56 | printf("!!! Error in DAC channel initialization !!!\n"); |
Arkadi | 1:574b54755983 | 57 | } |
Arkadi | 1:574b54755983 | 58 | } |