From c96a1e3f0d2d3e1ae756c721d0f2c86d8dc9a248 Mon Sep 17 00:00:00 2001 From: EN Date: Sat, 13 Jul 2024 22:50:55 +0800 Subject: [PATCH] =?UTF-8?q?Cherry=20Pick:=20=E2=9C=A8=20feat:=20=E8=B6=85?= =?UTF-8?q?=E5=A3=B0=E6=B3=A2=E6=B5=8B=E8=B7=9D=20Commit:=2011b1ebdc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 5 +- CAR.ioc | 15 ++-- Core/Inc/hcsr04.h | 9 +- Core/Inc/main.h | 10 +-- Core/Inc/stm32f1xx_hal_conf.h | 2 +- Core/Src/gpio.c | 12 +-- Core/Src/hcsr04.c | 68 ++++++++++----- Core/Src/main.c | 100 ++++++++++++--------- Core/Src/stm32f1xx_it.c | 2 +- MDK-ARM/CAR.uvoptx | 160 ++++------------------------------ MDK-ARM/CAR.uvprojx | 79 +++++------------ 11 files changed, 178 insertions(+), 284 deletions(-) diff --git a/.gitignore b/.gitignore index dca98b7..37951ed 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,7 @@ MDK-ARM/CAR MDK-ARM/DebugConfig MDK-ARM/CAR.uvguix.* MDK-ARM/startup_stm32f103xb.lst -MDK-ARM/RTE \ No newline at end of file +MDK-ARM/RTE + +build/ +cmake/ \ No newline at end of file diff --git a/CAR.ioc b/CAR.ioc index 235c601..771fe12 100644 --- a/CAR.ioc +++ b/CAR.ioc @@ -92,9 +92,10 @@ PA1.PinState=GPIO_PIN_SET PA1.Signal=GPIO_Output PA10.Mode=Asynchronous PA10.Signal=USART1_RX -PA12.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI -PA12.GPIO_Label=SDA_C_EXTI12 +PA12.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultEXTI +PA12.GPIO_Label=Echo PA12.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_RISING_FALLING +PA12.GPIO_PuPd=GPIO_PULLDOWN PA12.Locked=true PA12.Signal=GPXTI12 PA13.Mode=Serial_Wire @@ -102,7 +103,7 @@ PA13.Signal=SYS_JTMS-SWDIO PA14.Mode=Serial_Wire PA14.Signal=SYS_JTCK-SWCLK PA15.GPIOParameters=GPIO_Speed,GPIO_Label -PA15.GPIO_Label=SCL_C +PA15.GPIO_Label=Trig PA15.GPIO_Speed=GPIO_SPEED_FREQ_HIGH PA15.Locked=true PA15.Signal=GPIO_Output @@ -167,8 +168,8 @@ ProjectManager.BackupPrevious=false ProjectManager.CompilerOptimize=6 ProjectManager.ComputerToolchain=false ProjectManager.CoupleFile=true -ProjectManager.CustomerFirmwarePackage=..\\stm32\\STM32Cube_FW_F1_V1.8.0 -ProjectManager.DefaultFWLocation=false +ProjectManager.CustomerFirmwarePackage= +ProjectManager.DefaultFWLocation=true ProjectManager.DeletePrevious=true ProjectManager.DeviceId=STM32F103C8Tx ProjectManager.FirmwarePackage=STM32Cube FW_F1 V1.8.5 @@ -176,7 +177,7 @@ ProjectManager.FreePins=false ProjectManager.HalAssertFull=false ProjectManager.HeapSize=0x200 ProjectManager.KeepUserCode=true -ProjectManager.LastFirmware=false +ProjectManager.LastFirmware=true ProjectManager.LibraryCopy=1 ProjectManager.MainLocation=Core/Src ProjectManager.NoMain=false @@ -185,7 +186,7 @@ ProjectManager.ProjectBuild=false ProjectManager.ProjectFileName=CAR.ioc ProjectManager.ProjectName=CAR ProjectManager.ProjectStructure= -ProjectManager.RegisterCallBack= +ProjectManager.RegisterCallBack=TIM ProjectManager.StackSize=0x400 ProjectManager.TargetToolchain=MDK-ARM V5.32 ProjectManager.ToolChainLocation= diff --git a/Core/Inc/hcsr04.h b/Core/Inc/hcsr04.h index e890867..3c7b8c0 100644 --- a/Core/Inc/hcsr04.h +++ b/Core/Inc/hcsr04.h @@ -3,6 +3,13 @@ #include "main.h" -uint16_t sonar(void); +extern uint32_t sonor_distance; // 测量出的距离,单位mm +extern uint8_t sonor_state; // 测距状态变量,0:未测量,1:正在测量,2:已测量 + +void HC_SR04_Init(void); +uint32_t sonar_mm(void); + +// 测距完毕回调,执行完自定义任务后将sonor_state置0 + void Sonar_CP_Callback(); #endif diff --git a/Core/Inc/main.h b/Core/Inc/main.h index 7289bbe..495fe9c 100644 --- a/Core/Inc/main.h +++ b/Core/Inc/main.h @@ -71,11 +71,11 @@ void Error_Handler(void); #define MPU6050_SCL_GPIO_Port GPIOB #define MPU6050_SDA_Pin GPIO_PIN_11 #define MPU6050_SDA_GPIO_Port GPIOB -#define SDA_C_EXTI12_Pin GPIO_PIN_12 -#define SDA_C_EXTI12_GPIO_Port GPIOA -#define SDA_C_EXTI12_EXTI_IRQn EXTI15_10_IRQn -#define SCL_C_Pin GPIO_PIN_15 -#define SCL_C_GPIO_Port GPIOA +#define Echo_Pin GPIO_PIN_12 +#define Echo_GPIO_Port GPIOA +#define Echo_EXTI_IRQn EXTI15_10_IRQn +#define Trig_Pin GPIO_PIN_15 +#define Trig_GPIO_Port GPIOA #define R_FORWARD_Pin GPIO_PIN_4 #define R_FORWARD_GPIO_Port GPIOB #define R_BACKWARD_Pin GPIO_PIN_5 diff --git a/Core/Inc/stm32f1xx_hal_conf.h b/Core/Inc/stm32f1xx_hal_conf.h index 0afbce5..895b388 100644 --- a/Core/Inc/stm32f1xx_hal_conf.h +++ b/Core/Inc/stm32f1xx_hal_conf.h @@ -152,7 +152,7 @@ #define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */ #define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */ #define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */ -#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */ +#define USE_HAL_TIM_REGISTER_CALLBACKS 1U /* TIM register callback disabled */ #define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */ #define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */ #define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */ diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c index c7267c7..ccab9ed 100644 --- a/Core/Src/gpio.c +++ b/Core/Src/gpio.c @@ -53,7 +53,7 @@ void MX_GPIO_Init(void) HAL_GPIO_WritePin(GPIOA, FM_K2_POWERC_Pin|FAN_GS_Pin, GPIO_PIN_SET); /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(SCL_C_GPIO_Port, SCL_C_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(Trig_GPIO_Port, Trig_Pin, GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOB, R_FORWARD_Pin|R_BACKWARD_Pin|L_BACKWARD_Pin|L_FORWARD_Pin, GPIO_PIN_RESET); @@ -66,17 +66,17 @@ void MX_GPIO_Init(void) HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /*Configure GPIO pin : PtPin */ - GPIO_InitStruct.Pin = SDA_C_EXTI12_Pin; + GPIO_InitStruct.Pin = Echo_Pin; GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(SDA_C_EXTI12_GPIO_Port, &GPIO_InitStruct); + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(Echo_GPIO_Port, &GPIO_InitStruct); /*Configure GPIO pin : PtPin */ - GPIO_InitStruct.Pin = SCL_C_Pin; + GPIO_InitStruct.Pin = Trig_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; - HAL_GPIO_Init(SCL_C_GPIO_Port, &GPIO_InitStruct); + HAL_GPIO_Init(Trig_GPIO_Port, &GPIO_InitStruct); /*Configure GPIO pins : PBPin PBPin PBPin PBPin */ GPIO_InitStruct.Pin = R_FORWARD_Pin|R_BACKWARD_Pin|L_BACKWARD_Pin|L_FORWARD_Pin; diff --git a/Core/Src/hcsr04.c b/Core/Src/hcsr04.c index a232459..87950c4 100644 --- a/Core/Src/hcsr04.c +++ b/Core/Src/hcsr04.c @@ -1,33 +1,48 @@ #include "hcsr04.h" #include "tim.h" +#include -// time 的单位是 10μs -static volatile uint64_t time; // 声明变量,用来计时 -static uint64_t time_end; // 声明变量,存储回波信号时间 -static uint8_t state; +static uint64_t time; // 声明变量,用来计时 +static uint64_t time_end; // 声明变量,存储回波信号时间 static int16_t delay_time = -1; // 用于延时 +uint8_t sonor_state; // 测距状态变量,0:未测量,1:正在测量,2:已测量 +uint32_t sonor_distance; // 测量出的距离,单位mm -// HACK 临时的 delay 解决方法 void delay_us(uint16_t us); +void HCSR04_HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim); -uint16_t sonar(void) // 测距并返回单位为毫米的距离结果 +// 初始化超声波测距 +void HC_SR04_Init(void) { - // 超时则返回5m距离 - uint32_t distance = 5000; - HAL_GPIO_WritePin(SCL_C_GPIO_Port, SCL_C_Pin, GPIO_PIN_SET); // 输出高电平 - delay_us(15); // 延时15微秒 - HAL_GPIO_WritePin(SCL_C_GPIO_Port, SCL_C_Pin, GPIO_PIN_RESET); // 输出低电平 + // 禁用JTAG + __HAL_RCC_AFIO_CLK_ENABLE(); + __HAL_AFIO_REMAP_SWJ_NOJTAG(); - // HACK 考虑RTOS优化 - HAL_Delay(15); - - if (state) - distance = time_end * 346 / 200; // 计算距离,25°C空气中的音速为346m/s - return distance; + // 注册定时器中断溢出回调 + HAL_TIM_RegisterCallback(&htim2, HAL_TIM_PERIOD_ELAPSED_CB_ID, HCSR04_HAL_TIM_PeriodElapsedCallback); } +// 启动测距,单位:mm +uint32_t sonar_mm(void) +{ + sonor_state = 1; + HAL_GPIO_WritePin(Trig_GPIO_Port, Trig_Pin, GPIO_PIN_SET); // 输出高电平 + delay_us(15); // 延时15微秒 + HAL_GPIO_WritePin(Trig_GPIO_Port, Trig_Pin, GPIO_PIN_RESET); // 输出低电平 + if (time_end / 100 < 38) + { // 判断是否小于38毫秒,大于38毫秒的就是超时,直接调到下面返回0 + sonor_distance = (time_end * 346) / 2; // 计算距离,25°C空气中的音速为346m/s + sonor_distance = sonor_distance / 100; // 因为上面的time_end的单位是10微秒,所以要得出单位为毫米的距离结果,还得除以100 + } + return sonor_distance; +} + +/// @brief 微秒级延时 +/// @param us 取值范围0-32767 void delay_us(uint16_t us) { + if (us == 0) + return; delay_time = us; time = 0; HAL_TIM_Base_Start_IT(&htim2); @@ -36,21 +51,22 @@ void delay_us(uint16_t us) delay_time = -1; } -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +void HCSR04_HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if (htim == &htim2) { + // 每10us自增一 ++time; - if (delay_us > 0 && time == delay_time) + if (delay_us > 0 && time * 10 >= delay_time) HAL_TIM_Base_Stop_IT(&htim2); } } void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { - if (GPIO_Pin == SDA_C_EXTI12_Pin) + if (GPIO_Pin == Echo_Pin) { - if (HAL_GPIO_ReadPin(SDA_C_EXTI12_GPIO_Port, SDA_C_EXTI12_Pin)) + if (HAL_GPIO_ReadPin(Echo_GPIO_Port, Echo_Pin)) { time = 0; HAL_TIM_Base_Start_IT(&htim2); @@ -59,7 +75,15 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { time_end = time; HAL_TIM_Base_Stop_IT(&htim2); - state = 1; + sonor_state = 2; + Sonar_CP_Callback(); } } } + +// 测距完毕回调,执行完自定义任务后将sonor_state置0 +__attribute__((weak)) void Sonar_CP_Callback() +{ + printf("distance = %d (mm)\n", sonor_distance); + sonor_state = 0; +} diff --git a/Core/Src/main.c b/Core/Src/main.c index 0c559ed..3a69611 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -1,23 +1,24 @@ /* USER CODE BEGIN Header */ /** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2024 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "main.h" +#include "dma.h" #include "i2c.h" #include "tim.h" #include "usart.h" @@ -25,7 +26,10 @@ /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ +#include +#include "bluetooth.h" #include "led.h" +#include "hcsr04.h" #include "motor.h" /* USER CODE END Includes */ @@ -62,9 +66,9 @@ void SystemClock_Config(void); /* USER CODE END 0 */ /** - * @brief The application entry point. - * @retval int - */ + * @brief The application entry point. + * @retval int + */ int main(void) { @@ -90,40 +94,59 @@ int main(void) /* Initialize all configured peripherals */ MX_GPIO_Init(); + MX_DMA_Init(); MX_I2C2_Init(); MX_TIM2_Init(); MX_TIM3_Init(); MX_TIM4_Init(); - MX_USART1_UART_Init(); + // MX_USART1_UART_Init(); MX_USART2_UART_Init(); /* USER CODE BEGIN 2 */ - + HC_SR04_Init(); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { + int Distance_mm = sonar_mm(); + int Distance_m = Distance_mm / 1000; + int Distance_m_p = Distance_mm % 1000; + printf("Distance_mm = %d\n", Distance_mm); + printf("Distance_m = %d\n", Distance_m); + printf("Distance_m_p = %d\n", Distance_m_p); + + if (Distance_mm < 100) + { + LED_Start(LED_R); + MOTOR_Start(); + } + else + { + LED_Stop(LED_R); + MOTOR_Stop(); + } + HAL_Delay(300); // 延时300毫秒 + /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ - } /* USER CODE END 3 */ } /** - * @brief System Clock Configuration - * @retval None - */ + * @brief System Clock Configuration + * @retval None + */ void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ + * in the RCC_OscInitTypeDef structure. + */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1; @@ -137,9 +160,8 @@ void SystemClock_Config(void) } /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; @@ -156,9 +178,9 @@ void SystemClock_Config(void) /* USER CODE END 4 */ /** - * @brief This function is executed in case of error occurrence. - * @retval None - */ + * @brief This function is executed in case of error occurrence. + * @retval None + */ void Error_Handler(void) { /* USER CODE BEGIN Error_Handler_Debug */ @@ -170,14 +192,14 @@ void Error_Handler(void) /* USER CODE END Error_Handler_Debug */ } -#ifdef USE_FULL_ASSERT +#ifdef USE_FULL_ASSERT /** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ void assert_failed(uint8_t *file, uint32_t line) { /* USER CODE BEGIN 6 */ diff --git a/Core/Src/stm32f1xx_it.c b/Core/Src/stm32f1xx_it.c index 3c0d409..cd1dc7d 100644 --- a/Core/Src/stm32f1xx_it.c +++ b/Core/Src/stm32f1xx_it.c @@ -265,7 +265,7 @@ void EXTI15_10_IRQHandler(void) /* USER CODE BEGIN EXTI15_10_IRQn 0 */ /* USER CODE END EXTI15_10_IRQn 0 */ - HAL_GPIO_EXTI_IRQHandler(SDA_C_EXTI12_Pin); + HAL_GPIO_EXTI_IRQHandler(Echo_Pin); /* USER CODE BEGIN EXTI15_10_IRQn 1 */ /* USER CODE END EXTI15_10_IRQn 1 */ diff --git a/MDK-ARM/CAR.uvoptx b/MDK-ARM/CAR.uvoptx index e22b541..6b17102 100644 --- a/MDK-ARM/CAR.uvoptx +++ b/MDK-ARM/CAR.uvoptx @@ -78,33 +78,6 @@ 1 18 - - - 0 - Quick Start Guide (MCBSTM32E) - E:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Boards\Keil\MCBSTM32E\Documentation\STM32E_QSG.pdf - - - 1 - Base Board Schematics (MCBSTM32E) - E:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Boards\Keil\MCBSTM32E\Documentation\mcbstm32e-base-board-schematics.pdf - - - 2 - Display Board Schematics (MCBSTM32E) - E:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Boards\Keil\MCBSTM32E\Documentation\mcbstm32e-display-board-schematics.pdf - - - 3 - User Manual (MCBSTM32E) - E:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Boards\Keil\MCBSTM32E\Documentation\mcbstm32e.chm - - - 4 - MCBSTM32E Evaluation Board Web Page (MCBSTM32E) - http://www.keil.com/mcbstm32e/ - - 0 1 @@ -127,7 +100,10 @@ 1 0 0 - 2 + 1 + 0 + 0 + 3 @@ -141,31 +117,6 @@ BIN\CMSIS_AGDI.dll - - 0 - ARMRTXEVENTFLAGS - -L70 -Z18 -C0 -M0 -T1 - - - 0 - DLGTARM - (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0) - - - 0 - ARMDBGFLAGS - - - - 0 - CMSIS_AGDI - -X"" -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM) - - - 0 - DLGUARM - - 0 UL2CM3 @@ -177,92 +128,7 @@ -U-O142 -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL010000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM) - - - 0 - 0 - 39 - 1 -
134225148
- 0 - 0 - 0 - 0 - 0 - 1 - ..\Core\Src\hcsr04.c - - \\car\../Core/Src/hcsr04.c\39 -
- - 1 - 0 - 98 - 1 -
134229854
- 0 - 0 - 0 - 0 - 0 - 1 - ../Core/Src/main.c - - \\car\../Core/Src/main.c\98 -
- - 2 - 0 - 45 - 1 -
134220846
- 0 - 0 - 0 - 0 - 0 - 1 - ..\Core\Src\hcsr04.c - - \\car\../Core/Src/hcsr04.c\45 -
- - 3 - 0 - 32 - 1 -
134229764
- 0 - 0 - 0 - 0 - 0 - 1 - ..\Core\Src\hcsr04.c - - \\car\../Core/Src/hcsr04.c\32 -
-
- - - 0 - 1 - time - - - 1 - 1 - distance - - - - - 1 - 0 - &rxSize - 0 - - + 0 @@ -295,11 +161,19 @@ 0 - - - 0 + 0 + 0 + + + + + + + + 1 + 1 0 2 10000000 @@ -309,7 +183,7 @@ Application/MDK-ARM - 0 + 1 0 0 0 diff --git a/MDK-ARM/CAR.uvprojx b/MDK-ARM/CAR.uvprojx index 89f9cf0..34a11ac 100644 --- a/MDK-ARM/CAR.uvprojx +++ b/MDK-ARM/CAR.uvprojx @@ -10,14 +10,15 @@ CAR 0x4 ARM-ADS - 5060300::V5.06 update 3 (build 300)::ARMCC + 5060960::V5.06 update 7 (build 960)::.\ARMCC + 0 STM32F103C8 STMicroelectronics - Keil.STM32F1xx_DFP.2.2.0 - http://www.keil.com/pack/ - IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x800FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") TZ + Keil.STM32F1xx_DFP.2.4.1 + https://www.keil.com/pack/ + IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x800FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") TZ @@ -47,8 +48,8 @@ 0 1 - car\ - car + CAR\ + CAR 1 0 1 @@ -183,6 +184,8 @@ 0 0 0 + 0 + 0 0 0 8 @@ -323,6 +326,7 @@ 0 0 1 + 0 0 5 3 @@ -335,7 +339,7 @@ USE_HAL_DRIVER,STM32F103xB - ../Core/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F1xx/Include + ../Core/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include @@ -348,7 +352,7 @@ 0 0 0 - 0 + 1 @@ -428,56 +432,6 @@ dma.c 1 ../Core/Src/dma.c - - - 2 - 0 - 0 - 0 - 0 - 1 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - i2c.c @@ -616,4 +570,13 @@ + + + + CAR + 1 + + + +