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    ****   * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
   9:Src/main.c    ****   * All rights reserved.</center></h2>
  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 "<built-in>"
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
