![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
f303_h_p1 1
stm32g031_lcd_adc_1/main.c@26:a047b389adfd, 2022-05-06 (annotated)
- Committer:
- caa45040
- Date:
- Fri May 06 14:22:30 2022 +0000
- Revision:
- 26:a047b389adfd
- Parent:
- 12:6016c36a7b66
i2c_slave_HC_SR04_010_BIN re
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
caa45040 | 12:6016c36a7b66 | 1 | /* USER CODE BEGIN Header */ |
caa45040 | 12:6016c36a7b66 | 2 | /** |
caa45040 | 12:6016c36a7b66 | 3 | ****************************************************************************** |
caa45040 | 12:6016c36a7b66 | 4 | * @file : main.c |
caa45040 | 12:6016c36a7b66 | 5 | * @brief : Main program body |
caa45040 | 12:6016c36a7b66 | 6 | ****************************************************************************** |
caa45040 | 12:6016c36a7b66 | 7 | * @attention |
caa45040 | 12:6016c36a7b66 | 8 | * |
caa45040 | 12:6016c36a7b66 | 9 | * <h2><center>© Copyright (c) 2021 STMicroelectronics. |
caa45040 | 12:6016c36a7b66 | 10 | * All rights reserved.</center></h2> |
caa45040 | 12:6016c36a7b66 | 11 | * |
caa45040 | 12:6016c36a7b66 | 12 | * This software component is licensed by ST under BSD 3-Clause license, |
caa45040 | 12:6016c36a7b66 | 13 | * the "License"; You may not use this file except in compliance with the |
caa45040 | 12:6016c36a7b66 | 14 | * License. You may obtain a copy of the License at: |
caa45040 | 12:6016c36a7b66 | 15 | * opensource.org/licenses/BSD-3-Clause |
caa45040 | 12:6016c36a7b66 | 16 | * |
caa45040 | 12:6016c36a7b66 | 17 | ****************************************************************************** |
caa45040 | 12:6016c36a7b66 | 18 | */ |
caa45040 | 12:6016c36a7b66 | 19 | /* USER CODE END Header */ |
caa45040 | 12:6016c36a7b66 | 20 | /* Includes ------------------------------------------------------------------*/ |
caa45040 | 12:6016c36a7b66 | 21 | #include "main.h" |
caa45040 | 12:6016c36a7b66 | 22 | |
caa45040 | 12:6016c36a7b66 | 23 | /* Private includes ----------------------------------------------------------*/ |
caa45040 | 12:6016c36a7b66 | 24 | /* USER CODE BEGIN Includes */ |
caa45040 | 12:6016c36a7b66 | 25 | |
caa45040 | 12:6016c36a7b66 | 26 | /* USER CODE END Includes */ |
caa45040 | 12:6016c36a7b66 | 27 | |
caa45040 | 12:6016c36a7b66 | 28 | /* Private typedef -----------------------------------------------------------*/ |
caa45040 | 12:6016c36a7b66 | 29 | /* USER CODE BEGIN PTD */ |
caa45040 | 12:6016c36a7b66 | 30 | |
caa45040 | 12:6016c36a7b66 | 31 | /* USER CODE END PTD */ |
caa45040 | 12:6016c36a7b66 | 32 | |
caa45040 | 12:6016c36a7b66 | 33 | /* Private define ------------------------------------------------------------*/ |
caa45040 | 12:6016c36a7b66 | 34 | /* USER CODE BEGIN PD */ |
caa45040 | 12:6016c36a7b66 | 35 | /* USER CODE END PD */ |
caa45040 | 12:6016c36a7b66 | 36 | |
caa45040 | 12:6016c36a7b66 | 37 | /* Private macro -------------------------------------------------------------*/ |
caa45040 | 12:6016c36a7b66 | 38 | /* USER CODE BEGIN PM */ |
caa45040 | 12:6016c36a7b66 | 39 | |
caa45040 | 12:6016c36a7b66 | 40 | /* USER CODE END PM */ |
caa45040 | 12:6016c36a7b66 | 41 | |
caa45040 | 12:6016c36a7b66 | 42 | /* Private variables ---------------------------------------------------------*/ |
caa45040 | 12:6016c36a7b66 | 43 | ADC_HandleTypeDef hadc1; |
caa45040 | 12:6016c36a7b66 | 44 | |
caa45040 | 12:6016c36a7b66 | 45 | /* USER CODE BEGIN PV */ |
caa45040 | 12:6016c36a7b66 | 46 | |
caa45040 | 12:6016c36a7b66 | 47 | /* USER CODE END PV */ |
caa45040 | 12:6016c36a7b66 | 48 | |
caa45040 | 12:6016c36a7b66 | 49 | /* Private function prototypes -----------------------------------------------*/ |
caa45040 | 12:6016c36a7b66 | 50 | void SystemClock_Config(void); |
caa45040 | 12:6016c36a7b66 | 51 | static void MX_GPIO_Init(void); |
caa45040 | 12:6016c36a7b66 | 52 | static void MX_ADC1_Init(void); |
caa45040 | 12:6016c36a7b66 | 53 | /* USER CODE BEGIN PFP */ |
caa45040 | 12:6016c36a7b66 | 54 | |
caa45040 | 12:6016c36a7b66 | 55 | /* USER CODE END PFP */ |
caa45040 | 12:6016c36a7b66 | 56 | |
caa45040 | 12:6016c36a7b66 | 57 | /* Private user code ---------------------------------------------------------*/ |
caa45040 | 12:6016c36a7b66 | 58 | /* USER CODE BEGIN 0 */ |
caa45040 | 12:6016c36a7b66 | 59 | |
caa45040 | 12:6016c36a7b66 | 60 | |
caa45040 | 12:6016c36a7b66 | 61 | |
caa45040 | 12:6016c36a7b66 | 62 | #define swdclk GPIO_PIN_12 //6ピン |
caa45040 | 12:6016c36a7b66 | 63 | #define swdio GPIO_PIN_11 //5ピン |
caa45040 | 12:6016c36a7b66 | 64 | #define en GPIO_PIN_0 //4ピン |
caa45040 | 12:6016c36a7b66 | 65 | |
caa45040 | 12:6016c36a7b66 | 66 | #define DW(AAA,BBB) HAL_GPIO_WritePin(GPIOA,AAA,BBB) |
caa45040 | 12:6016c36a7b66 | 67 | |
caa45040 | 12:6016c36a7b66 | 68 | GPIO_PinState bi1[]={GPIO_PIN_RESET,GPIO_PIN_SET}; |
caa45040 | 12:6016c36a7b66 | 69 | |
caa45040 | 12:6016c36a7b66 | 70 | //1文字送信 |
caa45040 | 12:6016c36a7b66 | 71 | void seg1(char v,int rs) |
caa45040 | 12:6016c36a7b66 | 72 | { |
caa45040 | 12:6016c36a7b66 | 73 | for(int jj=0;jj<8;jj++){ |
caa45040 | 12:6016c36a7b66 | 74 | if( (v<<jj) & 0x80 ){ |
caa45040 | 12:6016c36a7b66 | 75 | DW(swdio,GPIO_PIN_SET); //ビットが1 |
caa45040 | 12:6016c36a7b66 | 76 | } else { |
caa45040 | 12:6016c36a7b66 | 77 | DW(swdio,GPIO_PIN_RESET); //ビットが0 |
caa45040 | 12:6016c36a7b66 | 78 | }//endif |
caa45040 | 12:6016c36a7b66 | 79 | DW(swdclk,GPIO_PIN_SET);DW(swdclk,GPIO_PIN_RESET); //clk |
caa45040 | 12:6016c36a7b66 | 80 | }//for |
caa45040 | 12:6016c36a7b66 | 81 | DW(swdio, bi1[rs] ); |
caa45040 | 12:6016c36a7b66 | 82 | DW(en,GPIO_PIN_SET); HAL_Delay(1); //ビットが1 |
caa45040 | 12:6016c36a7b66 | 83 | DW(en,GPIO_PIN_RESET); //ビットが0 |
caa45040 | 12:6016c36a7b66 | 84 | }//seg1 |
caa45040 | 12:6016c36a7b66 | 85 | |
caa45040 | 12:6016c36a7b66 | 86 | //文字列の表示 nana_seg |
caa45040 | 12:6016c36a7b66 | 87 | int ns_printf(char *str1) { |
caa45040 | 12:6016c36a7b66 | 88 | |
caa45040 | 12:6016c36a7b66 | 89 | //文字の中身がゼロか |
caa45040 | 12:6016c36a7b66 | 90 | while(*str1){ |
caa45040 | 12:6016c36a7b66 | 91 | |
caa45040 | 12:6016c36a7b66 | 92 | //一文字出力 |
caa45040 | 12:6016c36a7b66 | 93 | seg1( *str1 ++ , 1 ); |
caa45040 | 12:6016c36a7b66 | 94 | |
caa45040 | 12:6016c36a7b66 | 95 | } //while |
caa45040 | 12:6016c36a7b66 | 96 | |
caa45040 | 12:6016c36a7b66 | 97 | //戻り値 |
caa45040 | 12:6016c36a7b66 | 98 | return(0); |
caa45040 | 12:6016c36a7b66 | 99 | }//ns_printf |
caa45040 | 12:6016c36a7b66 | 100 | |
caa45040 | 12:6016c36a7b66 | 101 | //液晶初期化配列 |
caa45040 | 12:6016c36a7b66 | 102 | int lcd_int[]={ |
caa45040 | 12:6016c36a7b66 | 103 | 0x30,0x30,0x30,0x38,0x08,0x01,0x06,0x08+0x04 |
caa45040 | 12:6016c36a7b66 | 104 | };//lcd_init |
caa45040 | 12:6016c36a7b66 | 105 | |
caa45040 | 12:6016c36a7b66 | 106 | |
caa45040 | 12:6016c36a7b66 | 107 | |
caa45040 | 12:6016c36a7b66 | 108 | /* USER CODE END 0 */ |
caa45040 | 12:6016c36a7b66 | 109 | |
caa45040 | 12:6016c36a7b66 | 110 | /** |
caa45040 | 12:6016c36a7b66 | 111 | * @brief The application entry point. |
caa45040 | 12:6016c36a7b66 | 112 | * @retval int |
caa45040 | 12:6016c36a7b66 | 113 | */ |
caa45040 | 12:6016c36a7b66 | 114 | int main(void) |
caa45040 | 12:6016c36a7b66 | 115 | { |
caa45040 | 12:6016c36a7b66 | 116 | /* USER CODE BEGIN 1 */ |
caa45040 | 12:6016c36a7b66 | 117 | |
caa45040 | 12:6016c36a7b66 | 118 | /* USER CODE END 1 */ |
caa45040 | 12:6016c36a7b66 | 119 | |
caa45040 | 12:6016c36a7b66 | 120 | /* MCU Configuration--------------------------------------------------------*/ |
caa45040 | 12:6016c36a7b66 | 121 | |
caa45040 | 12:6016c36a7b66 | 122 | /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ |
caa45040 | 12:6016c36a7b66 | 123 | HAL_Init(); |
caa45040 | 12:6016c36a7b66 | 124 | |
caa45040 | 12:6016c36a7b66 | 125 | /* USER CODE BEGIN Init */ |
caa45040 | 12:6016c36a7b66 | 126 | |
caa45040 | 12:6016c36a7b66 | 127 | /* USER CODE END Init */ |
caa45040 | 12:6016c36a7b66 | 128 | |
caa45040 | 12:6016c36a7b66 | 129 | /* Configure the system clock */ |
caa45040 | 12:6016c36a7b66 | 130 | SystemClock_Config(); |
caa45040 | 12:6016c36a7b66 | 131 | |
caa45040 | 12:6016c36a7b66 | 132 | /* USER CODE BEGIN SysInit */ |
caa45040 | 12:6016c36a7b66 | 133 | |
caa45040 | 12:6016c36a7b66 | 134 | /* USER CODE END SysInit */ |
caa45040 | 12:6016c36a7b66 | 135 | |
caa45040 | 12:6016c36a7b66 | 136 | /* Initialize all configured peripherals */ |
caa45040 | 12:6016c36a7b66 | 137 | MX_GPIO_Init(); |
caa45040 | 12:6016c36a7b66 | 138 | MX_ADC1_Init(); |
caa45040 | 12:6016c36a7b66 | 139 | /* USER CODE BEGIN 2 */ |
caa45040 | 12:6016c36a7b66 | 140 | |
caa45040 | 12:6016c36a7b66 | 141 | |
caa45040 | 12:6016c36a7b66 | 142 | |
caa45040 | 12:6016c36a7b66 | 143 | //GPIOの初期化 |
caa45040 | 12:6016c36a7b66 | 144 | DW(en,GPIO_PIN_RESET); //ビットが0 |
caa45040 | 12:6016c36a7b66 | 145 | DW(swdclk,GPIO_PIN_RESET); //ビットが0 |
caa45040 | 12:6016c36a7b66 | 146 | |
caa45040 | 12:6016c36a7b66 | 147 | //液晶の初期化 |
caa45040 | 12:6016c36a7b66 | 148 | for(int ii=0;ii<8;ii++){ |
caa45040 | 12:6016c36a7b66 | 149 | seg1( lcd_int[ii] , 0);HAL_Delay(2); |
caa45040 | 12:6016c36a7b66 | 150 | }//for |
caa45040 | 12:6016c36a7b66 | 151 | |
caa45040 | 12:6016c36a7b66 | 152 | //画面クリア |
caa45040 | 12:6016c36a7b66 | 153 | seg1( 0x01 , 0 ); |
caa45040 | 12:6016c36a7b66 | 154 | HAL_Delay(1000); |
caa45040 | 12:6016c36a7b66 | 155 | |
caa45040 | 12:6016c36a7b66 | 156 | seg1( 0x80+0x00 , 0 ); //1ライン目にカーソルを移動 |
caa45040 | 12:6016c36a7b66 | 157 | ns_printf("Hello World !");HAL_Delay(500); //debug |
caa45040 | 12:6016c36a7b66 | 158 | |
caa45040 | 12:6016c36a7b66 | 159 | |
caa45040 | 12:6016c36a7b66 | 160 | |
caa45040 | 12:6016c36a7b66 | 161 | |
caa45040 | 12:6016c36a7b66 | 162 | /* USER CODE END 2 */ |
caa45040 | 12:6016c36a7b66 | 163 | |
caa45040 | 12:6016c36a7b66 | 164 | /* Infinite loop */ |
caa45040 | 12:6016c36a7b66 | 165 | /* USER CODE BEGIN WHILE */ |
caa45040 | 12:6016c36a7b66 | 166 | while (1) |
caa45040 | 12:6016c36a7b66 | 167 | { |
caa45040 | 12:6016c36a7b66 | 168 | /* USER CODE END WHILE */ |
caa45040 | 12:6016c36a7b66 | 169 | |
caa45040 | 12:6016c36a7b66 | 170 | |
caa45040 | 12:6016c36a7b66 | 171 | |
caa45040 | 12:6016c36a7b66 | 172 | |
caa45040 | 12:6016c36a7b66 | 173 | /* USER CODE BEGIN 3 */ |
caa45040 | 12:6016c36a7b66 | 174 | } |
caa45040 | 12:6016c36a7b66 | 175 | /* USER CODE END 3 */ |
caa45040 | 12:6016c36a7b66 | 176 | } |
caa45040 | 12:6016c36a7b66 | 177 | |
caa45040 | 12:6016c36a7b66 | 178 | /** |
caa45040 | 12:6016c36a7b66 | 179 | * @brief System Clock Configuration |
caa45040 | 12:6016c36a7b66 | 180 | * @retval None |
caa45040 | 12:6016c36a7b66 | 181 | */ |
caa45040 | 12:6016c36a7b66 | 182 | void SystemClock_Config(void) |
caa45040 | 12:6016c36a7b66 | 183 | { |
caa45040 | 12:6016c36a7b66 | 184 | RCC_OscInitTypeDef RCC_OscInitStruct = {0}; |
caa45040 | 12:6016c36a7b66 | 185 | RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; |
caa45040 | 12:6016c36a7b66 | 186 | RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; |
caa45040 | 12:6016c36a7b66 | 187 | |
caa45040 | 12:6016c36a7b66 | 188 | /** Configure the main internal regulator output voltage |
caa45040 | 12:6016c36a7b66 | 189 | */ |
caa45040 | 12:6016c36a7b66 | 190 | HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1); |
caa45040 | 12:6016c36a7b66 | 191 | /** Initializes the RCC Oscillators according to the specified parameters |
caa45040 | 12:6016c36a7b66 | 192 | * in the RCC_OscInitTypeDef structure. |
caa45040 | 12:6016c36a7b66 | 193 | */ |
caa45040 | 12:6016c36a7b66 | 194 | RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; |
caa45040 | 12:6016c36a7b66 | 195 | RCC_OscInitStruct.HSIState = RCC_HSI_ON; |
caa45040 | 12:6016c36a7b66 | 196 | RCC_OscInitStruct.HSIDiv = RCC_HSI_DIV1; |
caa45040 | 12:6016c36a7b66 | 197 | RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; |
caa45040 | 12:6016c36a7b66 | 198 | RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; |
caa45040 | 12:6016c36a7b66 | 199 | if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) |
caa45040 | 12:6016c36a7b66 | 200 | { |
caa45040 | 12:6016c36a7b66 | 201 | Error_Handler(); |
caa45040 | 12:6016c36a7b66 | 202 | } |
caa45040 | 12:6016c36a7b66 | 203 | /** Initializes the CPU, AHB and APB buses clocks |
caa45040 | 12:6016c36a7b66 | 204 | */ |
caa45040 | 12:6016c36a7b66 | 205 | RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |
caa45040 | 12:6016c36a7b66 | 206 | |RCC_CLOCKTYPE_PCLK1; |
caa45040 | 12:6016c36a7b66 | 207 | RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; |
caa45040 | 12:6016c36a7b66 | 208 | RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; |
caa45040 | 12:6016c36a7b66 | 209 | RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; |
caa45040 | 12:6016c36a7b66 | 210 | |
caa45040 | 12:6016c36a7b66 | 211 | if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) |
caa45040 | 12:6016c36a7b66 | 212 | { |
caa45040 | 12:6016c36a7b66 | 213 | Error_Handler(); |
caa45040 | 12:6016c36a7b66 | 214 | } |
caa45040 | 12:6016c36a7b66 | 215 | /** Initializes the peripherals clocks |
caa45040 | 12:6016c36a7b66 | 216 | */ |
caa45040 | 12:6016c36a7b66 | 217 | PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC; |
caa45040 | 12:6016c36a7b66 | 218 | PeriphClkInit.AdcClockSelection = RCC_ADCCLKSOURCE_SYSCLK; |
caa45040 | 12:6016c36a7b66 | 219 | if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) |
caa45040 | 12:6016c36a7b66 | 220 | { |
caa45040 | 12:6016c36a7b66 | 221 | Error_Handler(); |
caa45040 | 12:6016c36a7b66 | 222 | } |
caa45040 | 12:6016c36a7b66 | 223 | } |
caa45040 | 12:6016c36a7b66 | 224 | |
caa45040 | 12:6016c36a7b66 | 225 | /** |
caa45040 | 12:6016c36a7b66 | 226 | * @brief ADC1 Initialization Function |
caa45040 | 12:6016c36a7b66 | 227 | * @param None |
caa45040 | 12:6016c36a7b66 | 228 | * @retval None |
caa45040 | 12:6016c36a7b66 | 229 | */ |
caa45040 | 12:6016c36a7b66 | 230 | static void MX_ADC1_Init(void) |
caa45040 | 12:6016c36a7b66 | 231 | { |
caa45040 | 12:6016c36a7b66 | 232 | |
caa45040 | 12:6016c36a7b66 | 233 | /* USER CODE BEGIN ADC1_Init 0 */ |
caa45040 | 12:6016c36a7b66 | 234 | |
caa45040 | 12:6016c36a7b66 | 235 | /* USER CODE END ADC1_Init 0 */ |
caa45040 | 12:6016c36a7b66 | 236 | |
caa45040 | 12:6016c36a7b66 | 237 | ADC_ChannelConfTypeDef sConfig = {0}; |
caa45040 | 12:6016c36a7b66 | 238 | |
caa45040 | 12:6016c36a7b66 | 239 | /* USER CODE BEGIN ADC1_Init 1 */ |
caa45040 | 12:6016c36a7b66 | 240 | |
caa45040 | 12:6016c36a7b66 | 241 | /* USER CODE END ADC1_Init 1 */ |
caa45040 | 12:6016c36a7b66 | 242 | /** Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of conversion) |
caa45040 | 12:6016c36a7b66 | 243 | */ |
caa45040 | 12:6016c36a7b66 | 244 | hadc1.Instance = ADC1; |
caa45040 | 12:6016c36a7b66 | 245 | hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2; |
caa45040 | 12:6016c36a7b66 | 246 | hadc1.Init.Resolution = ADC_RESOLUTION_12B; |
caa45040 | 12:6016c36a7b66 | 247 | hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; |
caa45040 | 12:6016c36a7b66 | 248 | hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE; |
caa45040 | 12:6016c36a7b66 | 249 | hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; |
caa45040 | 12:6016c36a7b66 | 250 | hadc1.Init.LowPowerAutoWait = DISABLE; |
caa45040 | 12:6016c36a7b66 | 251 | hadc1.Init.LowPowerAutoPowerOff = DISABLE; |
caa45040 | 12:6016c36a7b66 | 252 | hadc1.Init.ContinuousConvMode = DISABLE; |
caa45040 | 12:6016c36a7b66 | 253 | hadc1.Init.NbrOfConversion = 1; |
caa45040 | 12:6016c36a7b66 | 254 | hadc1.Init.DiscontinuousConvMode = DISABLE; |
caa45040 | 12:6016c36a7b66 | 255 | hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; |
caa45040 | 12:6016c36a7b66 | 256 | hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; |
caa45040 | 12:6016c36a7b66 | 257 | hadc1.Init.DMAContinuousRequests = DISABLE; |
caa45040 | 12:6016c36a7b66 | 258 | hadc1.Init.Overrun = ADC_OVR_DATA_PRESERVED; |
caa45040 | 12:6016c36a7b66 | 259 | hadc1.Init.SamplingTimeCommon1 = ADC_SAMPLETIME_1CYCLE_5; |
caa45040 | 12:6016c36a7b66 | 260 | hadc1.Init.SamplingTimeCommon2 = ADC_SAMPLETIME_1CYCLE_5; |
caa45040 | 12:6016c36a7b66 | 261 | hadc1.Init.OversamplingMode = DISABLE; |
caa45040 | 12:6016c36a7b66 | 262 | hadc1.Init.TriggerFrequencyMode = ADC_TRIGGER_FREQ_HIGH; |
caa45040 | 12:6016c36a7b66 | 263 | if (HAL_ADC_Init(&hadc1) != HAL_OK) |
caa45040 | 12:6016c36a7b66 | 264 | { |
caa45040 | 12:6016c36a7b66 | 265 | Error_Handler(); |
caa45040 | 12:6016c36a7b66 | 266 | } |
caa45040 | 12:6016c36a7b66 | 267 | /** Configure Regular Channel |
caa45040 | 12:6016c36a7b66 | 268 | */ |
caa45040 | 12:6016c36a7b66 | 269 | sConfig.Channel = ADC_CHANNEL_11; |
caa45040 | 12:6016c36a7b66 | 270 | sConfig.Rank = ADC_REGULAR_RANK_1; |
caa45040 | 12:6016c36a7b66 | 271 | sConfig.SamplingTime = ADC_SAMPLINGTIME_COMMON_1; |
caa45040 | 12:6016c36a7b66 | 272 | if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) |
caa45040 | 12:6016c36a7b66 | 273 | { |
caa45040 | 12:6016c36a7b66 | 274 | Error_Handler(); |
caa45040 | 12:6016c36a7b66 | 275 | } |
caa45040 | 12:6016c36a7b66 | 276 | /* USER CODE BEGIN ADC1_Init 2 */ |
caa45040 | 12:6016c36a7b66 | 277 | |
caa45040 | 12:6016c36a7b66 | 278 | /* USER CODE END ADC1_Init 2 */ |
caa45040 | 12:6016c36a7b66 | 279 | |
caa45040 | 12:6016c36a7b66 | 280 | } |
caa45040 | 12:6016c36a7b66 | 281 | |
caa45040 | 12:6016c36a7b66 | 282 | /** |
caa45040 | 12:6016c36a7b66 | 283 | * @brief GPIO Initialization Function |
caa45040 | 12:6016c36a7b66 | 284 | * @param None |
caa45040 | 12:6016c36a7b66 | 285 | * @retval None |
caa45040 | 12:6016c36a7b66 | 286 | */ |
caa45040 | 12:6016c36a7b66 | 287 | static void MX_GPIO_Init(void) |
caa45040 | 12:6016c36a7b66 | 288 | { |
caa45040 | 12:6016c36a7b66 | 289 | GPIO_InitTypeDef GPIO_InitStruct = {0}; |
caa45040 | 12:6016c36a7b66 | 290 | |
caa45040 | 12:6016c36a7b66 | 291 | /* GPIO Ports Clock Enable */ |
caa45040 | 12:6016c36a7b66 | 292 | __HAL_RCC_GPIOB_CLK_ENABLE(); |
caa45040 | 12:6016c36a7b66 | 293 | __HAL_RCC_GPIOA_CLK_ENABLE(); |
caa45040 | 12:6016c36a7b66 | 294 | |
caa45040 | 12:6016c36a7b66 | 295 | /*Configure GPIO pin Output Level */ |
caa45040 | 12:6016c36a7b66 | 296 | HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0|GPIO_PIN_11|GPIO_PIN_12, GPIO_PIN_RESET); |
caa45040 | 12:6016c36a7b66 | 297 | |
caa45040 | 12:6016c36a7b66 | 298 | /*Configure GPIO pins : PA0 PA11 PA12 */ |
caa45040 | 12:6016c36a7b66 | 299 | GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_11|GPIO_PIN_12; |
caa45040 | 12:6016c36a7b66 | 300 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
caa45040 | 12:6016c36a7b66 | 301 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
caa45040 | 12:6016c36a7b66 | 302 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
caa45040 | 12:6016c36a7b66 | 303 | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); |
caa45040 | 12:6016c36a7b66 | 304 | |
caa45040 | 12:6016c36a7b66 | 305 | } |
caa45040 | 12:6016c36a7b66 | 306 | |
caa45040 | 12:6016c36a7b66 | 307 | /* USER CODE BEGIN 4 */ |
caa45040 | 12:6016c36a7b66 | 308 | |
caa45040 | 12:6016c36a7b66 | 309 | /* USER CODE END 4 */ |
caa45040 | 12:6016c36a7b66 | 310 | |
caa45040 | 12:6016c36a7b66 | 311 | /** |
caa45040 | 12:6016c36a7b66 | 312 | * @brief This function is executed in case of error occurrence. |
caa45040 | 12:6016c36a7b66 | 313 | * @retval None |
caa45040 | 12:6016c36a7b66 | 314 | */ |
caa45040 | 12:6016c36a7b66 | 315 | void Error_Handler(void) |
caa45040 | 12:6016c36a7b66 | 316 | { |
caa45040 | 12:6016c36a7b66 | 317 | /* USER CODE BEGIN Error_Handler_Debug */ |
caa45040 | 12:6016c36a7b66 | 318 | /* User can add his own implementation to report the HAL error return state */ |
caa45040 | 12:6016c36a7b66 | 319 | __disable_irq(); |
caa45040 | 12:6016c36a7b66 | 320 | while (1) |
caa45040 | 12:6016c36a7b66 | 321 | { |
caa45040 | 12:6016c36a7b66 | 322 | } |
caa45040 | 12:6016c36a7b66 | 323 | /* USER CODE END Error_Handler_Debug */ |
caa45040 | 12:6016c36a7b66 | 324 | } |
caa45040 | 12:6016c36a7b66 | 325 | |
caa45040 | 12:6016c36a7b66 | 326 | #ifdef USE_FULL_ASSERT |
caa45040 | 12:6016c36a7b66 | 327 | /** |
caa45040 | 12:6016c36a7b66 | 328 | * @brief Reports the name of the source file and the source line number |
caa45040 | 12:6016c36a7b66 | 329 | * where the assert_param error has occurred. |
caa45040 | 12:6016c36a7b66 | 330 | * @param file: pointer to the source file name |
caa45040 | 12:6016c36a7b66 | 331 | * @param line: assert_param error line source number |
caa45040 | 12:6016c36a7b66 | 332 | * @retval None |
caa45040 | 12:6016c36a7b66 | 333 | */ |
caa45040 | 12:6016c36a7b66 | 334 | void assert_failed(uint8_t *file, uint32_t line) |
caa45040 | 12:6016c36a7b66 | 335 | { |
caa45040 | 12:6016c36a7b66 | 336 | /* USER CODE BEGIN 6 */ |
caa45040 | 12:6016c36a7b66 | 337 | /* User can add his own implementation to report the file name and line number, |
caa45040 | 12:6016c36a7b66 | 338 | ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ |
caa45040 | 12:6016c36a7b66 | 339 | /* USER CODE END 6 */ |
caa45040 | 12:6016c36a7b66 | 340 | } |
caa45040 | 12:6016c36a7b66 | 341 | #endif /* USE_FULL_ASSERT */ |
caa45040 | 12:6016c36a7b66 | 342 | |
caa45040 | 12:6016c36a7b66 | 343 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
caa45040 | 12:6016c36a7b66 | 344 |