Files
@ 48ae84f03494
Branch filter:
Location: protofuse-firmware/src/adc.c - annotation
48ae84f03494
2.9 KiB
text/plain
Update to new HAL library, add some ADC code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 48ae84f03494 | /*
* adc.c
*
* Created on: Aug 9, 2016
* Author: Nicholas Orlando
*/
/* Includes ------------------------------------------------------------------*/
#include "adc.h"
#include "gpio.h"
#include "dma.h"
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
ADC_HandleTypeDef hadc1;
DMA_HandleTypeDef hdma_adc1;
/* ADC1 init function */
void MX_ADC1_Init(void)
{
/**Common config
*/
hadc1.Instance = ADC1;
hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
hadc1.Init.Resolution = ADC_RESOLUTION_12B;
hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE;
hadc1.Init.ContinuousConvMode = ENABLE;
hadc1.Init.DiscontinuousConvMode = DISABLE;
hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc1.Init.NbrOfConversion = 1;
hadc1.Init.DMAContinuousRequests = ENABLE;
hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
hadc1.Init.LowPowerAutoWait = DISABLE;
hadc1.Init.Overrun = ADC_OVR_DATA_OVERWRITTEN;
HAL_ADC_Init(&hadc1);
}
void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
{
GPIO_InitTypeDef GPIO_InitStruct;
if(hadc->Instance==ADC1)
{
/* USER CODE BEGIN ADC1_MspInit 0 */
/* USER CODE END ADC1_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_ADC1_CLK_ENABLE();
/**ADC1 GPIO Configuration
PA0 ------> ADC1_IN1
PA1 ------> ADC1_IN2
PA2 ------> ADC1_IN3
*/
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* Peripheral DMA init*/
hdma_adc1.Instance = DMA1_Channel1;
hdma_adc1.Init.Direction = DMA_PERIPH_TO_MEMORY;
hdma_adc1.Init.PeriphInc = DMA_PINC_DISABLE;
hdma_adc1.Init.MemInc = DMA_MINC_ENABLE;
hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
hdma_adc1.Init.Mode = DMA_CIRCULAR;
hdma_adc1.Init.Priority = DMA_PRIORITY_LOW;
HAL_DMA_Init(&hdma_adc1);
__HAL_LINKDMA(hadc,DMA_Handle,hdma_adc1);
/* USER CODE BEGIN ADC1_MspInit 1 */
/* USER CODE END ADC1_MspInit 1 */
}
}
void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
{
if(hadc->Instance==ADC1)
{
/* USER CODE BEGIN ADC1_MspDeInit 0 */
/* USER CODE END ADC1_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_ADC1_CLK_DISABLE();
/**ADC1 GPIO Configuration
PA0 ------> ADC1_IN1
PA1 ------> ADC1_IN2
PA2 ------> ADC1_IN3
*/
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2);
/* Peripheral DMA DeInit*/
HAL_DMA_DeInit(hadc->DMA_Handle);
}
/* USER CODE BEGIN ADC1_MspDeInit 1 */
/* USER CODE END ADC1_MspDeInit 1 */
}
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
|