ARM GAS /tmp/cclhzA2e.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 1 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "main.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .section .text.SystemClock_Config,"ax",%progbits 20 .align 1 21 .global SystemClock_Config 22 .syntax unified 23 .thumb 24 .thumb_func 26 SystemClock_Config: 27 .LFB131: 28 .file 1 "Src/main.c" 1:Src/main.c **** /* USER CODE BEGIN Header */ 2:Src/main.c **** /** 3:Src/main.c **** ****************************************************************************** 4:Src/main.c **** * @file : main.c 5:Src/main.c **** * @brief : Main program body 6:Src/main.c **** * @attention 7:Src/main.c **** * 8:Src/main.c **** *

© Copyright (c) 2019 STMicroelectronics. 9:Src/main.c **** * All rights reserved.

10:Src/main.c **** * 11:Src/main.c **** * This software component is licensed by ST under BSD 3-Clause license, 12:Src/main.c **** * the License; You may not use this file except in compliance with the 13:Src/main.c **** * License. You may obtain a copy of the License at: 14:Src/main.c **** * www.st.com/SLA0044 15:Src/main.c **** * 16:Src/main.c **** ****************************************************************************** 17:Src/main.c **** */ 18:Src/main.c **** /* USER CODE END Header */ 19:Src/main.c **** 20:Src/main.c **** /* Includes ------------------------------------------------------------------*/ 21:Src/main.c **** #include"main.h" 22:Src/main.c **** #include "adc.h" 23:Src/main.c **** #include "usart.h" 24:Src/main.c **** #include "gpio.h" 25:Src/main.c **** 26:Src/main.c **** /* Private variables ---------------------------------------------------------*/ 27:Src/main.c **** #define VECT_TAB_OFFSET 0x10000 28:Src/main.c **** int tankstatus = 0; 29:Src/main.c **** uint16_t M4_AD_Value = 0; 30:Src/main.c **** float M4_voltage_V =0; ARM GAS /tmp/cclhzA2e.s page 2 31:Src/main.c **** float M4_pH_mid = 1.500; 32:Src/main.c **** float M4_pH_low = 2.030; 33:Src/main.c **** float M4_pH_high =0.975; 34:Src/main.c **** float M4_PH=0; 35:Src/main.c **** /* USER CODE BEGIN PV */ 36:Src/main.c **** typedef void (*pFunction)(void); 37:Src/main.c **** /* USER CODE END PV */ 38:Src/main.c **** /* Private function prototypes -----------------------------------------------*/ 39:Src/main.c **** void SystemClock_Config(void); 40:Src/main.c **** /* USER CODE BEGIN PFP */ 41:Src/main.c **** /* USER CODE END PFP */ 42:Src/main.c **** /* Private user code ---------------------------------------------------------*/ 43:Src/main.c **** /* USER CODE BEGIN 0 */ 44:Src/main.c **** /* USER CODE END 0 */ 45:Src/main.c **** /** 46:Src/main.c **** * @brief The application entry point. 47:Src/main.c **** * @retval int 48:Src/main.c **** */ 49:Src/main.c **** int main(void) 50:Src/main.c **** { 51:Src/main.c **** SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; 52:Src/main.c **** HAL_Init(); 53:Src/main.c **** SystemClock_Config(); 54:Src/main.c **** MX_GPIO_Init(); 55:Src/main.c **** MX_USART2_UART_Init(); 56:Src/main.c **** MX_UART4_Init(); 57:Src/main.c **** MX_USART1_UART_Init(); 58:Src/main.c **** MX_ADC1_Init(); 59:Src/main.c **** while (1) 60:Src/main.c **** { 61:Src/main.c **** HAL_ADC_Start(&hadc1); 62:Src/main.c **** HAL_ADC_PollForConversion(&hadc1, 50); 63:Src/main.c **** if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1), HAL_ADC_STATE_REG_EOC)) 64:Src/main.c **** { 65:Src/main.c **** M4_AD_Value = HAL_ADC_GetValue(&hadc1); 66:Src/main.c **** M4_voltage_V = M4_AD_Value*3.3f/4096; 67:Src/main.c **** if (M4_voltage_V > M4_pH_mid) 68:Src/main.c **** { 69:Src/main.c **** M4_PH = 7.0 - 3.0 / (M4_pH_low - M4_pH_mid) * (M4_voltage_V - M4_pH_mid); 70:Src/main.c **** } 71:Src/main.c **** else 72:Src/main.c **** { 73:Src/main.c **** M4_PH = 7.0 - 3.0 / (M4_pH_mid - M4_pH_high) * (M4_voltage_V - M4_pH_mid); 74:Src/main.c **** } 75:Src/main.c **** } 76:Src/main.c **** HAL_UART_Transmit(&huart4,(unsigned char*)&M4_PH,4,10); 77:Src/main.c **** HAL_Delay(10000); 78:Src/main.c **** if(M4_PH<14 && tankstatus == 0) 79:Src/main.c **** { 80:Src/main.c **** HAL_GPIO_WritePin(GPIOD,GPIO_PIN_15, GPIO_PIN_SET); 81:Src/main.c **** 82:Src/main.c **** HAL_Delay(30000); 83:Src/main.c **** 84:Src/main.c **** HAL_GPIO_WritePin(GPIOD,GPIO_PIN_15, GPIO_PIN_RESET); 85:Src/main.c **** 86:Src/main.c **** } 87:Src/main.c **** } ARM GAS /tmp/cclhzA2e.s page 3 88:Src/main.c **** } 89:Src/main.c **** void SystemClock_Config(void) 90:Src/main.c **** { 29 .loc 1 90 1 view -0 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 80 32 @ frame_needed = 0, uses_anonymous_args = 0 33 0000 30B5 push {r4, r5, lr} 34 .LCFI0: 35 .cfi_def_cfa_offset 12 36 .cfi_offset 4, -12 37 .cfi_offset 5, -8 38 .cfi_offset 14, -4 39 0002 95B0 sub sp, sp, #84 40 .LCFI1: 41 .cfi_def_cfa_offset 96 91:Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0}; 42 .loc 1 91 3 view .LVU1 43 .loc 1 91 22 is_stmt 0 view .LVU2 44 0004 3022 movs r2, #48 45 0006 0021 movs r1, #0 46 0008 08A8 add r0, sp, #32 47 000a FFF7FEFF bl memset 48 .LVL0: 92:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; 49 .loc 1 92 3 is_stmt 1 view .LVU3 50 .loc 1 92 22 is_stmt 0 view .LVU4 51 000e 0024 movs r4, #0 52 0010 0394 str r4, [sp, #12] 53 0012 0494 str r4, [sp, #16] 54 0014 0594 str r4, [sp, #20] 55 0016 0694 str r4, [sp, #24] 56 0018 0794 str r4, [sp, #28] 93:Src/main.c **** __HAL_RCC_PWR_CLK_ENABLE(); 57 .loc 1 93 3 is_stmt 1 view .LVU5 58 .LBB2: 59 .loc 1 93 3 view .LVU6 60 001a 0194 str r4, [sp, #4] 61 .loc 1 93 3 view .LVU7 62 001c 1A4B ldr r3, .L3 63 001e 1A6C ldr r2, [r3, #64] 64 0020 42F08052 orr r2, r2, #268435456 65 0024 1A64 str r2, [r3, #64] 66 .loc 1 93 3 view .LVU8 67 0026 1B6C ldr r3, [r3, #64] 68 0028 03F08053 and r3, r3, #268435456 69 002c 0193 str r3, [sp, #4] 70 .loc 1 93 3 view .LVU9 71 002e 019B ldr r3, [sp, #4] 72 .LBE2: 73 .loc 1 93 3 view .LVU10 94:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); 74 .loc 1 94 3 view .LVU11 75 .LBB3: 76 .loc 1 94 3 view .LVU12 77 0030 0294 str r4, [sp, #8] 78 .loc 1 94 3 view .LVU13 ARM GAS /tmp/cclhzA2e.s page 4 79 0032 164B ldr r3, .L3+4 80 0034 1A68 ldr r2, [r3] 81 0036 42F48042 orr r2, r2, #16384 82 003a 1A60 str r2, [r3] 83 .loc 1 94 3 view .LVU14 84 003c 1B68 ldr r3, [r3] 85 003e 03F48043 and r3, r3, #16384 86 0042 0293 str r3, [sp, #8] 87 .loc 1 94 3 view .LVU15 88 0044 029B ldr r3, [sp, #8] 89 .LBE3: 90 .loc 1 94 3 view .LVU16 95:Src/main.c **** RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; 91 .loc 1 95 3 view .LVU17 92 .loc 1 95 36 is_stmt 0 view .LVU18 93 0046 0225 movs r5, #2 94 0048 0895 str r5, [sp, #32] 96:Src/main.c **** RCC_OscInitStruct.HSIState = RCC_HSI_ON; 95 .loc 1 96 3 is_stmt 1 view .LVU19 96 .loc 1 96 30 is_stmt 0 view .LVU20 97 004a 0123 movs r3, #1 98 004c 0B93 str r3, [sp, #44] 97:Src/main.c **** RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; 99 .loc 1 97 3 is_stmt 1 view .LVU21 100 .loc 1 97 41 is_stmt 0 view .LVU22 101 004e 1023 movs r3, #16 102 0050 0C93 str r3, [sp, #48] 98:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; 103 .loc 1 98 3 is_stmt 1 view .LVU23 104 .loc 1 98 34 is_stmt 0 view .LVU24 105 0052 0E95 str r5, [sp, #56] 99:Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; 106 .loc 1 99 3 is_stmt 1 view .LVU25 107 .loc 1 99 35 is_stmt 0 view .LVU26 108 0054 0F94 str r4, [sp, #60] 100:Src/main.c **** RCC_OscInitStruct.PLL.PLLM = 8; 109 .loc 1 100 3 is_stmt 1 view .LVU27 110 .loc 1 100 30 is_stmt 0 view .LVU28 111 0056 0823 movs r3, #8 112 0058 1093 str r3, [sp, #64] 101:Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 72; 113 .loc 1 101 3 is_stmt 1 view .LVU29 114 .loc 1 101 30 is_stmt 0 view .LVU30 115 005a 4823 movs r3, #72 116 005c 1193 str r3, [sp, #68] 102:Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; 117 .loc 1 102 3 is_stmt 1 view .LVU31 118 .loc 1 102 30 is_stmt 0 view .LVU32 119 005e 1295 str r5, [sp, #72] 103:Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = 3; 120 .loc 1 103 3 is_stmt 1 view .LVU33 121 .loc 1 103 30 is_stmt 0 view .LVU34 122 0060 0323 movs r3, #3 123 0062 1393 str r3, [sp, #76] 104:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; 124 .loc 1 104 3 is_stmt 1 view .LVU35 105:Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) ARM GAS /tmp/cclhzA2e.s page 5 125 .loc 1 105 3 view .LVU36 126 .loc 1 105 7 is_stmt 0 view .LVU37 127 0064 08A8 add r0, sp, #32 128 0066 FFF7FEFF bl HAL_RCC_OscConfig 129 .LVL1: 106:Src/main.c **** { 107:Src/main.c **** Error_Handler(); 108:Src/main.c **** } 109:Src/main.c **** RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK 130 .loc 1 109 3 is_stmt 1 view .LVU38 131 .loc 1 109 31 is_stmt 0 view .LVU39 132 006a 0F23 movs r3, #15 133 006c 0393 str r3, [sp, #12] 110:Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; 111:Src/main.c **** RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; 134 .loc 1 111 3 is_stmt 1 view .LVU40 135 .loc 1 111 34 is_stmt 0 view .LVU41 136 006e 0495 str r5, [sp, #16] 112:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; 137 .loc 1 112 3 is_stmt 1 view .LVU42 138 .loc 1 112 35 is_stmt 0 view .LVU43 139 0070 0594 str r4, [sp, #20] 113:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; 140 .loc 1 113 3 is_stmt 1 view .LVU44 141 .loc 1 113 36 is_stmt 0 view .LVU45 142 0072 4FF48053 mov r3, #4096 143 0076 0693 str r3, [sp, #24] 114:Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; 144 .loc 1 114 3 is_stmt 1 view .LVU46 145 .loc 1 114 36 is_stmt 0 view .LVU47 146 0078 0794 str r4, [sp, #28] 115:Src/main.c **** if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) 147 .loc 1 115 3 is_stmt 1 view .LVU48 148 .loc 1 115 7 is_stmt 0 view .LVU49 149 007a 2946 mov r1, r5 150 007c 03A8 add r0, sp, #12 151 007e FFF7FEFF bl HAL_RCC_ClockConfig 152 .LVL2: 116:Src/main.c **** { 117:Src/main.c **** Error_Handler(); 118:Src/main.c **** } 119:Src/main.c **** } 153 .loc 1 119 1 view .LVU50 154 0082 15B0 add sp, sp, #84 155 .LCFI2: 156 .cfi_def_cfa_offset 12 157 @ sp needed 158 0084 30BD pop {r4, r5, pc} 159 .L4: 160 0086 00BF .align 2 161 .L3: 162 0088 00380240 .word 1073887232 163 008c 00700040 .word 1073770496 164 .cfi_endproc 165 .LFE131: 167 .global __aeabi_f2d 168 .global __aeabi_ddiv ARM GAS /tmp/cclhzA2e.s page 6 169 .global __aeabi_dmul 170 .global __aeabi_dsub 171 .global __aeabi_d2f 172 .section .text.main,"ax",%progbits 173 .align 1 174 .global main 175 .syntax unified 176 .thumb 177 .thumb_func 179 main: 180 .LFB130: 50:Src/main.c **** SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; 181 .loc 1 50 1 is_stmt 1 view -0 182 .cfi_startproc 183 @ Volatile: function does not return. 184 @ args = 0, pretend = 0, frame = 0 185 @ frame_needed = 0, uses_anonymous_args = 0 186 0000 08B5 push {r3, lr} 187 .LCFI3: 188 .cfi_def_cfa_offset 8 189 .cfi_offset 3, -8 190 .cfi_offset 14, -4 51:Src/main.c **** HAL_Init(); 191 .loc 1 51 3 view .LVU52 51:Src/main.c **** HAL_Init(); 192 .loc 1 51 13 is_stmt 0 view .LVU53 193 0002 5B4B ldr r3, .L17 194 0004 5B4A ldr r2, .L17+4 195 0006 9A60 str r2, [r3, #8] 52:Src/main.c **** SystemClock_Config(); 196 .loc 1 52 3 is_stmt 1 view .LVU54 197 0008 FFF7FEFF bl HAL_Init 198 .LVL3: 53:Src/main.c **** MX_GPIO_Init(); 199 .loc 1 53 3 view .LVU55 200 000c FFF7FEFF bl SystemClock_Config 201 .LVL4: 54:Src/main.c **** MX_USART2_UART_Init(); 202 .loc 1 54 3 view .LVU56 203 0010 FFF7FEFF bl MX_GPIO_Init 204 .LVL5: 55:Src/main.c **** MX_UART4_Init(); 205 .loc 1 55 3 view .LVU57 206 0014 FFF7FEFF bl MX_USART2_UART_Init 207 .LVL6: 56:Src/main.c **** MX_USART1_UART_Init(); 208 .loc 1 56 3 view .LVU58 209 0018 FFF7FEFF bl MX_UART4_Init 210 .LVL7: 57:Src/main.c **** MX_ADC1_Init(); 211 .loc 1 57 3 view .LVU59 212 001c FFF7FEFF bl MX_USART1_UART_Init 213 .LVL8: 58:Src/main.c **** while (1) 214 .loc 1 58 3 view .LVU60 215 0020 FFF7FEFF bl MX_ADC1_Init 216 .LVL9: ARM GAS /tmp/cclhzA2e.s page 7 217 .L6: 59:Src/main.c **** { 218 .loc 1 59 3 view .LVU61 61:Src/main.c **** HAL_ADC_PollForConversion(&hadc1, 50); 219 .loc 1 61 5 view .LVU62 220 0024 544C ldr r4, .L17+8 221 0026 2046 mov r0, r4 222 0028 FFF7FEFF bl HAL_ADC_Start 223 .LVL10: 62:Src/main.c **** if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1), HAL_ADC_STATE_REG_EOC)) 224 .loc 1 62 5 view .LVU63 225 002c 3221 movs r1, #50 226 002e 2046 mov r0, r4 227 0030 FFF7FEFF bl HAL_ADC_PollForConversion 228 .LVL11: 63:Src/main.c **** { 229 .loc 1 63 5 view .LVU64 63:Src/main.c **** { 230 .loc 1 63 8 is_stmt 0 view .LVU65 231 0034 2046 mov r0, r4 232 0036 FFF7FEFF bl HAL_ADC_GetState 233 .LVL12: 63:Src/main.c **** { 234 .loc 1 63 7 view .LVU66 235 003a 10F4007F tst r0, #512 236 003e 29D1 bne .L16 237 .L7: 76:Src/main.c **** HAL_Delay(10000); 238 .loc 1 76 5 is_stmt 1 view .LVU67 239 0040 4E4C ldr r4, .L17+12 240 0042 0A23 movs r3, #10 241 0044 0422 movs r2, #4 242 0046 2146 mov r1, r4 243 0048 4D48 ldr r0, .L17+16 244 004a FFF7FEFF bl HAL_UART_Transmit 245 .LVL13: 77:Src/main.c **** if(M4_PH<14 && tankstatus == 0) 246 .loc 1 77 5 view .LVU68 247 004e 42F21070 movw r0, #10000 248 0052 FFF7FEFF bl HAL_Delay 249 .LVL14: 78:Src/main.c **** { 250 .loc 1 78 5 view .LVU69 78:Src/main.c **** { 251 .loc 1 78 13 is_stmt 0 view .LVU70 252 0056 94ED007A vldr.32 s14, [r4] 78:Src/main.c **** { 253 .loc 1 78 7 view .LVU71 254 005a F2EE0C7A vmov.f32 s15, #1.4e+1 255 005e B4EEE77A vcmpe.f32 s14, s15 256 0062 F1EE10FA vmrs APSR_nzcv, FPSCR 257 0066 DDD5 bpl .L6 78:Src/main.c **** { 258 .loc 1 78 31 discriminator 1 view .LVU72 259 0068 464B ldr r3, .L17+20 260 006a 1B68 ldr r3, [r3] 78:Src/main.c **** { ARM GAS /tmp/cclhzA2e.s page 8 261 .loc 1 78 17 discriminator 1 view .LVU73 262 006c 002B cmp r3, #0 263 006e D9D1 bne .L6 80:Src/main.c **** 264 .loc 1 80 10 is_stmt 1 view .LVU74 265 0070 454C ldr r4, .L17+24 266 0072 0122 movs r2, #1 267 0074 4FF40041 mov r1, #32768 268 0078 2046 mov r0, r4 269 007a FFF7FEFF bl HAL_GPIO_WritePin 270 .LVL15: 82:Src/main.c **** 271 .loc 1 82 10 view .LVU75 272 007e 47F23050 movw r0, #30000 273 0082 FFF7FEFF bl HAL_Delay 274 .LVL16: 84:Src/main.c **** 275 .loc 1 84 10 view .LVU76 276 0086 0022 movs r2, #0 277 0088 4FF40041 mov r1, #32768 278 008c 2046 mov r0, r4 279 008e FFF7FEFF bl HAL_GPIO_WritePin 280 .LVL17: 281 0092 C7E7 b .L6 282 .L16: 65:Src/main.c **** M4_voltage_V = M4_AD_Value*3.3f/4096; 283 .loc 1 65 11 view .LVU77 65:Src/main.c **** M4_voltage_V = M4_AD_Value*3.3f/4096; 284 .loc 1 65 25 is_stmt 0 view .LVU78 285 0094 2046 mov r0, r4 286 0096 FFF7FEFF bl HAL_ADC_GetValue 287 .LVL18: 65:Src/main.c **** M4_voltage_V = M4_AD_Value*3.3f/4096; 288 .loc 1 65 23 view .LVU79 289 009a 80B2 uxth r0, r0 290 009c 3B4B ldr r3, .L17+28 291 009e 1880 strh r0, [r3] @ movhi 66:Src/main.c **** if (M4_voltage_V > M4_pH_mid) 292 .loc 1 66 11 is_stmt 1 view .LVU80 66:Src/main.c **** if (M4_voltage_V > M4_pH_mid) 293 .loc 1 66 37 is_stmt 0 view .LVU81 294 00a0 07EE900A vmov s15, r0 @ int 295 00a4 B8EEE78A vcvt.f32.s32 s16, s15 296 00a8 DFED397A vldr.32 s15, .L17+32 297 00ac 28EE278A vmul.f32 s16, s16, s15 66:Src/main.c **** if (M4_voltage_V > M4_pH_mid) 298 .loc 1 66 42 view .LVU82 299 00b0 DFED387A vldr.32 s15, .L17+36 300 00b4 28EE278A vmul.f32 s16, s16, s15 66:Src/main.c **** if (M4_voltage_V > M4_pH_mid) 301 .loc 1 66 24 view .LVU83 302 00b8 374B ldr r3, .L17+40 303 00ba 83ED008A vstr.32 s16, [r3] 67:Src/main.c **** { 304 .loc 1 67 11 is_stmt 1 view .LVU84 67:Src/main.c **** { 305 .loc 1 67 28 is_stmt 0 view .LVU85 ARM GAS /tmp/cclhzA2e.s page 9 306 00be 374B ldr r3, .L17+44 307 00c0 D3ED008A vldr.32 s17, [r3] 67:Src/main.c **** { 308 .loc 1 67 14 view .LVU86 309 00c4 B4EEE88A vcmpe.f32 s16, s17 310 00c8 F1EE10FA vmrs APSR_nzcv, FPSCR 311 00cc 27DD ble .L14 69:Src/main.c **** } 312 .loc 1 69 16 is_stmt 1 view .LVU87 69:Src/main.c **** } 313 .loc 1 69 47 is_stmt 0 view .LVU88 314 00ce 344B ldr r3, .L17+48 315 00d0 D3ED007A vldr.32 s15, [r3] 316 00d4 77EEE87A vsub.f32 s15, s15, s17 317 00d8 17EE900A vmov r0, s15 318 00dc FFF7FEFF bl __aeabi_f2d 319 .LVL19: 320 00e0 0246 mov r2, r0 321 00e2 0B46 mov r3, r1 69:Src/main.c **** } 322 .loc 1 69 34 view .LVU89 323 00e4 0020 movs r0, #0 324 00e6 2F49 ldr r1, .L17+52 325 00e8 FFF7FEFF bl __aeabi_ddiv 326 .LVL20: 327 00ec 0446 mov r4, r0 328 00ee 0D46 mov r5, r1 69:Src/main.c **** } 329 .loc 1 69 76 view .LVU90 330 00f0 78EE687A vsub.f32 s15, s16, s17 331 00f4 17EE900A vmov r0, s15 332 00f8 FFF7FEFF bl __aeabi_f2d 333 .LVL21: 334 00fc 0246 mov r2, r0 335 00fe 0B46 mov r3, r1 69:Src/main.c **** } 336 .loc 1 69 60 view .LVU91 337 0100 2046 mov r0, r4 338 0102 2946 mov r1, r5 339 0104 FFF7FEFF bl __aeabi_dmul 340 .LVL22: 341 0108 0246 mov r2, r0 342 010a 0B46 mov r3, r1 69:Src/main.c **** } 343 .loc 1 69 28 view .LVU92 344 010c 0020 movs r0, #0 345 010e 2649 ldr r1, .L17+56 346 0110 FFF7FEFF bl __aeabi_dsub 347 .LVL23: 348 0114 FFF7FEFF bl __aeabi_d2f 349 .LVL24: 69:Src/main.c **** } 350 .loc 1 69 22 view .LVU93 351 0118 184B ldr r3, .L17+12 352 011a 1860 str r0, [r3] @ float 353 011c 90E7 b .L7 354 .L14: ARM GAS /tmp/cclhzA2e.s page 10 73:Src/main.c **** } 355 .loc 1 73 16 is_stmt 1 view .LVU94 73:Src/main.c **** } 356 .loc 1 73 47 is_stmt 0 view .LVU95 357 011e 234B ldr r3, .L17+60 358 0120 D3ED007A vldr.32 s15, [r3] 359 0124 78EEE77A vsub.f32 s15, s17, s15 360 0128 17EE900A vmov r0, s15 361 012c FFF7FEFF bl __aeabi_f2d 362 .LVL25: 363 0130 0246 mov r2, r0 364 0132 0B46 mov r3, r1 73:Src/main.c **** } 365 .loc 1 73 34 view .LVU96 366 0134 0020 movs r0, #0 367 0136 1B49 ldr r1, .L17+52 368 0138 FFF7FEFF bl __aeabi_ddiv 369 .LVL26: 370 013c 0446 mov r4, r0 371 013e 0D46 mov r5, r1 73:Src/main.c **** } 372 .loc 1 73 77 view .LVU97 373 0140 78EE687A vsub.f32 s15, s16, s17 374 0144 17EE900A vmov r0, s15 375 0148 FFF7FEFF bl __aeabi_f2d 376 .LVL27: 377 014c 0246 mov r2, r0 378 014e 0B46 mov r3, r1 73:Src/main.c **** } 379 .loc 1 73 61 view .LVU98 380 0150 2046 mov r0, r4 381 0152 2946 mov r1, r5 382 0154 FFF7FEFF bl __aeabi_dmul 383 .LVL28: 384 0158 0246 mov r2, r0 385 015a 0B46 mov r3, r1 73:Src/main.c **** } 386 .loc 1 73 28 view .LVU99 387 015c 0020 movs r0, #0 388 015e 1249 ldr r1, .L17+56 389 0160 FFF7FEFF bl __aeabi_dsub 390 .LVL29: 391 0164 FFF7FEFF bl __aeabi_d2f 392 .LVL30: 73:Src/main.c **** } 393 .loc 1 73 22 view .LVU100 394 0168 044B ldr r3, .L17+12 395 016a 1860 str r0, [r3] @ float 396 016c 68E7 b .L7 397 .L18: 398 016e 00BF .align 2 399 .L17: 400 0170 00ED00E0 .word -536810240 401 0174 00000108 .word 134283264 402 0178 00000000 .word hadc1 403 017c 00000000 .word .LANCHOR4 404 0180 00000000 .word huart4 ARM GAS /tmp/cclhzA2e.s page 11 405 0184 00000000 .word .LANCHOR6 406 0188 000C0240 .word 1073875968 407 018c 00000000 .word .LANCHOR0 408 0190 33335340 .word 1079194419 409 0194 00008039 .word 964689920 410 0198 00000000 .word .LANCHOR1 411 019c 00000000 .word .LANCHOR2 412 01a0 00000000 .word .LANCHOR3 413 01a4 00000840 .word 1074266112 414 01a8 00001C40 .word 1075576832 415 01ac 00000000 .word .LANCHOR5 416 .cfi_endproc 417 .LFE130: 419 .section .text.Error_Handler,"ax",%progbits 420 .align 1 421 .global Error_Handler 422 .syntax unified 423 .thumb 424 .thumb_func 426 Error_Handler: 427 .LFB132: 120:Src/main.c **** void Error_Handler(void) 121:Src/main.c **** { 428 .loc 1 121 1 is_stmt 1 view -0 429 .cfi_startproc 430 @ args = 0, pretend = 0, frame = 0 431 @ frame_needed = 0, uses_anonymous_args = 0 432 @ link register save eliminated. 122:Src/main.c **** } 433 .loc 1 122 1 view .LVU102 434 0000 7047 bx lr 435 .cfi_endproc 436 .LFE132: 438 .global M4_PH 439 .global M4_pH_high 440 .global M4_pH_low 441 .global M4_pH_mid 442 .global M4_voltage_V 443 .global M4_AD_Value 444 .global tankstatus 445 .section .bss.M4_AD_Value,"aw",%nobits 446 .align 1 447 .set .LANCHOR0,. + 0 450 M4_AD_Value: 451 0000 0000 .space 2 452 .section .bss.M4_PH,"aw",%nobits 453 .align 2 454 .set .LANCHOR4,. + 0 457 M4_PH: 458 0000 00000000 .space 4 459 .section .bss.M4_voltage_V,"aw",%nobits 460 .align 2 461 .set .LANCHOR1,. + 0 464 M4_voltage_V: 465 0000 00000000 .space 4 466 .section .bss.tankstatus,"aw",%nobits 467 .align 2 ARM GAS /tmp/cclhzA2e.s page 12 468 .set .LANCHOR6,. + 0 471 tankstatus: 472 0000 00000000 .space 4 473 .section .data.M4_pH_high,"aw" 474 .align 2 475 .set .LANCHOR5,. + 0 478 M4_pH_high: 479 0000 9A99793F .word 1064933786 480 .section .data.M4_pH_low,"aw" 481 .align 2 482 .set .LANCHOR3,. + 0 485 M4_pH_low: 486 0000 85EB0140 .word 1073867653 487 .section .data.M4_pH_mid,"aw" 488 .align 2 489 .set .LANCHOR2,. + 0 492 M4_pH_mid: 493 0000 0000C03F .word 1069547520 494 .text 495 .Letext0: 496 .file 2 "/home/gitc/\346\241\214\351\235\242/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/ 497 .file 3 "/home/gitc/\346\241\214\351\235\242/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/ 498 .file 4 "Drivers/CMSIS/Include/core_cm4.h" 499 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h" 500 .file 6 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h" 501 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h" 502 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h" 503 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h" 504 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h" 505 .file 11 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h" 506 .file 12 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h" 507 .file 13 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h" 508 .file 14 "Inc/adc.h" 509 .file 15 "Inc/usart.h" 510 .file 16 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h" 511 .file 17 "Inc/gpio.h" 512 .file 18 "" ARM GAS /tmp/cclhzA2e.s page 13 DEFINED SYMBOLS *ABS*:0000000000000000 main.c /tmp/cclhzA2e.s:20 .text.SystemClock_Config:0000000000000000 $t /tmp/cclhzA2e.s:26 .text.SystemClock_Config:0000000000000000 SystemClock_Config /tmp/cclhzA2e.s:162 .text.SystemClock_Config:0000000000000088 $d /tmp/cclhzA2e.s:173 .text.main:0000000000000000 $t /tmp/cclhzA2e.s:179 .text.main:0000000000000000 main /tmp/cclhzA2e.s:400 .text.main:0000000000000170 $d /tmp/cclhzA2e.s:420 .text.Error_Handler:0000000000000000 $t /tmp/cclhzA2e.s:426 .text.Error_Handler:0000000000000000 Error_Handler /tmp/cclhzA2e.s:457 .bss.M4_PH:0000000000000000 M4_PH /tmp/cclhzA2e.s:478 .data.M4_pH_high:0000000000000000 M4_pH_high /tmp/cclhzA2e.s:485 .data.M4_pH_low:0000000000000000 M4_pH_low /tmp/cclhzA2e.s:492 .data.M4_pH_mid:0000000000000000 M4_pH_mid /tmp/cclhzA2e.s:464 .bss.M4_voltage_V:0000000000000000 M4_voltage_V /tmp/cclhzA2e.s:450 .bss.M4_AD_Value:0000000000000000 M4_AD_Value /tmp/cclhzA2e.s:471 .bss.tankstatus:0000000000000000 tankstatus /tmp/cclhzA2e.s:446 .bss.M4_AD_Value:0000000000000000 $d /tmp/cclhzA2e.s:453 .bss.M4_PH:0000000000000000 $d /tmp/cclhzA2e.s:460 .bss.M4_voltage_V:0000000000000000 $d /tmp/cclhzA2e.s:467 .bss.tankstatus:0000000000000000 $d /tmp/cclhzA2e.s:474 .data.M4_pH_high:0000000000000000 $d /tmp/cclhzA2e.s:481 .data.M4_pH_low:0000000000000000 $d /tmp/cclhzA2e.s:488 .data.M4_pH_mid:0000000000000000 $d UNDEFINED SYMBOLS memset HAL_RCC_OscConfig HAL_RCC_ClockConfig __aeabi_f2d __aeabi_ddiv __aeabi_dmul __aeabi_dsub __aeabi_d2f HAL_Init MX_GPIO_Init MX_USART2_UART_Init MX_UART4_Init MX_USART1_UART_Init MX_ADC1_Init HAL_ADC_Start HAL_ADC_PollForConversion HAL_ADC_GetState HAL_UART_Transmit HAL_Delay HAL_GPIO_WritePin HAL_ADC_GetValue hadc1 huart4