diff --git a/CAR.ioc b/CAR.ioc index 771fe12..9bfd077 100644 --- a/CAR.ioc +++ b/CAR.ioc @@ -65,7 +65,7 @@ Mcu.UserName=STM32F103C8Tx MxCube.Version=6.12.0 MxDb.Version=DB.6.0.120 NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false -NVIC.DMA1_Channel6_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true +NVIC.DMA1_Channel6_IRQn=true\:0\:0\:true\:false\:true\:true\:true\:true NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.EXTI15_10_IRQn=true\:1\:0\:true\:false\:true\:true\:true\:true NVIC.ForceEnableDMAVector=false @@ -75,10 +75,10 @@ NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.PriorityGroup=NVIC_PRIORITYGROUP_2 NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false -NVIC.SysTick_IRQn=true\:3\:0\:true\:false\:true\:false\:true\:false +NVIC.SysTick_IRQn=true\:2\:0\:true\:false\:true\:false\:true\:false NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true -NVIC.USART1_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true -NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true +NVIC.USART1_IRQn=true\:3\:1\:true\:false\:true\:true\:true\:true +NVIC.USART2_IRQn=true\:3\:0\:true\:false\:true\:true\:true\:true NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false PA0-WKUP.GPIOParameters=PinState,GPIO_Label PA0-WKUP.GPIO_Label=FM_K2_POWERC @@ -244,7 +244,7 @@ TIM3.Pulse-PWM\ Generation4\ CH4=255 TIM4.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 TIM4.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2 TIM4.IPParameters=Channel-PWM Generation1 CH1,Channel-PWM Generation2 CH2,Prescaler,Period,Pulse-PWM Generation1 CH1,Pulse-PWM Generation2 CH2 -TIM4.Period=100 +TIM4.Period=0 TIM4.Prescaler=720 - 1 TIM4.Pulse-PWM\ Generation1\ CH1=100 TIM4.Pulse-PWM\ Generation2\ CH2=100 diff --git a/Core/Inc/control.h b/Core/Inc/control.h index 0a439e5..24c2799 100644 --- a/Core/Inc/control.h +++ b/Core/Inc/control.h @@ -3,8 +3,19 @@ #include "main.h" +#define MODE_STOP 0 +// 遥控模式 +#define MODE_REMOTE 1 +// 巡线模式 +#define MODE_PATROL 2 +// 避障模式 +#define MODE_AVOID 3 + +// 小车运行模式 +extern uint8_t mode; + void CONTROL_CommonCmd(uint8_t type, uint8_t state); void CONTROL_RGB(uint8_t r, uint8_t g, uint8_t b); -void CONTROL_Mode(uint8_t mode, uint8_t state); +void CONTROL_Mode(uint8_t new_mode, uint8_t state); #endif diff --git a/Core/Inc/stm32f1xx_hal_conf.h b/Core/Inc/stm32f1xx_hal_conf.h index 895b388..0eafd5a 100644 --- a/Core/Inc/stm32f1xx_hal_conf.h +++ b/Core/Inc/stm32f1xx_hal_conf.h @@ -129,7 +129,7 @@ * @brief This is the HAL system configuration section */ #define VDD_VALUE 3300U /*!< Value of VDD in mv */ -#define TICK_INT_PRIORITY 3U /*!< tick interrupt priority (lowest by default) */ +#define TICK_INT_PRIORITY 2U /*!< tick interrupt priority (lowest by default) */ #define USE_RTOS 0U #define PREFETCH_ENABLE 1U @@ -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 1U /* TIM register callback disabled */ +#define USE_HAL_TIM_REGISTER_CALLBACKS 1U /* TIM register callback enabled */ #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/Inc/syscalls.h b/Core/Inc/syscalls.h index 5327636..f8b3504 100644 --- a/Core/Inc/syscalls.h +++ b/Core/Inc/syscalls.h @@ -8,6 +8,7 @@ #include #include #include +#include #define HUART1 (&huart1) #define HUART2 (&huart2) diff --git a/Core/Src/bluetooth.c b/Core/Src/bluetooth.c index 0cd2f27..931e1d4 100644 --- a/Core/Src/bluetooth.c +++ b/Core/Src/bluetooth.c @@ -3,25 +3,39 @@ #include "control.h" #include #include +#include "syscalls.h" #define BUFFER_SIZE 100 #define MESSAGE_SIZE 19 #define CMD_NUM 9 -static int8_t rxBuffer[BUFFER_SIZE], txBuffer[BUFFER_SIZE]; +static int8_t rxBuffer[BUFFER_SIZE], txBuffer[10000]; +static uint16_t txLen; static uint8_t cmdIndex; void BLUETOOTH_Init(void) { HAL_UARTEx_ReceiveToIdle_DMA(&huart2, rxBuffer, 100); + // HAL_UART_Receive_IT(&huart2, txBuffer + txLen, 1); } +// void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) +// { +// if (huart == &huart2) +// { +// ++txLen; +// if (txLen == 10000) +// txLen = 0; +// } +// } + void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) { if (huart == &huart2 && rxBuffer[0] == '$' && rxBuffer[Size - 1] == '#') { + rxBuffer[Size] = '\0'; // 通用协议 - if (rxBuffer[2] == ',') + if (mode == MODE_REMOTE && rxBuffer[2] == ',') { cmdIndex = 0; for (uint8_t i = 1; i < MESSAGE_SIZE; i += 2) @@ -31,35 +45,43 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) break; if (cmdIndex == CMD_NUM) cmdIndex = 0; - CONTROL_CommonCmd(cmdIndex, rxBuffer[cmdIndex * 2 + 1]); + CONTROL_CommonCmd(cmdIndex, rxBuffer[cmdIndex * 2 + 1] - '0'); } else { static uint16_t num[6]; - switch (rxBuffer[5]) - { - // 机械手 - case 'S': - break; - // 舵机云台 - case 'P': - break; - // 七彩灯 - case 'C': - sscanf(rxBuffer + 5, "%*3s%hu,%*3s%hu,%*3s%hu", num, num + 1, num + 2); - CONTROL_RGB(num[0], num[1], num[2]); - break; - // 模式选择 - case 'M': + // 模式选择 + if (rxBuffer[5] == 'M') + { sscanf(rxBuffer + 5, "%*4s%c%c", num, num + 1); CONTROL_Mode(num[0] - '0', num[1] - '0'); - break; } + else if (mode == MODE_REMOTE) + switch (rxBuffer[5]) + { + // 机械手 + case 'S': + break; + // 舵机云台 + case 'P': + break; + // 七彩灯 + case 'C': + sscanf(rxBuffer + 5, "%*3s%hu,%*3s%hu,%*3s%hu", num, num + 1, num + 2); + CONTROL_RGB(num[0], num[1], num[2]); + break; + } } - memcpy(txBuffer, rxBuffer, Size); - printf("%s", txBuffer); - HAL_UART_Transmit_IT(&huart2, txBuffer, Size); + // my_printf(&huart2, rxBuffer); + // strcpy(txBuffer + txLen, rxBuffer); + // if (txLen + Size >= 9999) + // txLen = 0; + // else + // txLen += Size; + // txBuffer[txLen] = '\0'; + // if (strcmp(rxBuffer, "$send#") == 0) + // my_printf(&huart2, txBuffer); BLUETOOTH_Init(); } } diff --git a/Core/Src/control.c b/Core/Src/control.c index 81ab58e..9765e99 100644 --- a/Core/Src/control.c +++ b/Core/Src/control.c @@ -13,13 +13,17 @@ // #define CMD_FIRE 7 // #define CMD_SERVO 8 -void move(uint8_t state); -void rotate(uint8_t state); -void buzzer(uint8_t state); -void speed(uint8_t state); +// 小车默认速度 +static int8_t speed = 20; +uint8_t mode = MODE_REMOTE; + +void carMove(uint8_t state); +void carSpin(uint8_t state); +void callBuzzer(uint8_t state); +void setSpeed(uint8_t state); // void shake(uint8_t state); // void sing(uint8_t state); -void led(uint8_t state); +void setLed(uint8_t state); // void fire(uint8_t state); // void servo(uint8_t state); @@ -28,28 +32,28 @@ void CONTROL_CommonCmd(uint8_t type, uint8_t state) switch (type) { case CMD_MOVE: - move(state); + carMove(state); break; case CMD_ROTATE: - rotate(state); + carSpin(state); break; case CMD_BUZZER: - buzzer(state); + callBuzzer(state); break; case CMD_SPEED: - speed(state); + setSpeed(state); break; // case CMD_SHAKE: // break; // case CMD_SING: // break; case CMD_LED: - led(state); + setLed(state); break; - // case CMD_FIRE: - // break; - // case CMD_SERVO: - // break; + // case CMD_FIRE: + // break; + // case CMD_SERVO: + // break; } } @@ -59,30 +63,127 @@ void CONTROL_RGB(uint8_t r, uint8_t g, uint8_t b) LED_SetDuty(r, g, b); } -void CONTROL_Mode(uint8_t mode, uint8_t state) +void CONTROL_Mode(uint8_t new_mode, uint8_t state) { -} - -void move(uint8_t state) -{ -} - -void rotate(uint8_t state) -{ -} - -void buzzer(uint8_t state) -{ - if (state) - HAL_GPIO_WritePin(FM_K2_POWERC_GPIO_Port, FM_K2_POWERC_Pin, GPIO_PIN_RESET); + if (state == 0) + { + mode = MODE_STOP; + MOTOR_Stop(); + } else - HAL_GPIO_WritePin(FM_K2_POWERC_GPIO_Port, FM_K2_POWERC_Pin, GPIO_PIN_SET); + { + mode = new_mode; + switch (new_mode) + { + case MODE_REMOTE: + speed = 20; + MOTOR_SetDuty(speed, speed); + MOTOR_Start(); + break; + case MODE_PATROL: + break; + case MODE_AVOID: + break; + default: + mode = MODE_STOP; + MOTOR_Stop(); + break; + } + } } -void speed(uint8_t state) +void carMove(uint8_t state) { + if (state == 0) + MOTOR_Stop(); + else + { + MOTOR_Start(); + switch (state) + { + // 前进 + case 1: + MOTOR_SetDuty(speed, speed); + break; + // 后退 + case 2: + MOTOR_SetDuty(-speed, -speed); + break; + // 左转 + case 3: + MOTOR_SetDuty(0, speed); + break; + // 右转 + case 4: + MOTOR_SetDuty(speed, 0); + break; + } + } } -void led(uint8_t state) +void carSpin(uint8_t state) { + if (state == 1) + MOTOR_SetDuty(speed, -speed); + else if (state == 2) + MOTOR_SetDuty(-speed, speed); +} + +void callBuzzer(uint8_t state) +{ + HAL_GPIO_WritePin(FM_K2_POWERC_GPIO_Port, FM_K2_POWERC_Pin, GPIO_PIN_RESET); + HAL_Delay(200); + HAL_GPIO_WritePin(FM_K2_POWERC_GPIO_Port, FM_K2_POWERC_Pin, GPIO_PIN_SET); +} + +void setSpeed(uint8_t state) +{ + if (state == 1) + speed += 10; + else if (state == 2) + speed -= 10; + if (speed > 100) + speed = 100; + else if (speed < 20) + speed = 20; +} + +void setLed(uint8_t state) +{ + LED_Start(LED_ALL); + switch (state) + { + // 白 + case 1: + LED_SetDuty(255, 255, 255); + break; + // 红 + case 2: + LED_SetDuty(255, 0, 0); + break; + // 绿 + case 3: + LED_SetDuty(0, 255, 0); + break; + // 蓝 + case 4: + LED_SetDuty(0, 0, 255); + break; + // 青 + case 5: + LED_SetDuty(0, 255, 255); + break; + // 品红 + case 6: + LED_SetDuty(255, 0, 255); + break; + // 黄 + case 7: + LED_SetDuty(255, 255, 0); + break; + // 关 + default: + LED_SetDuty(0, 0, 0); + break; + } } diff --git a/Core/Src/hcsr04.c b/Core/Src/hcsr04.c index 4fa6432..cf14f43 100644 --- a/Core/Src/hcsr04.c +++ b/Core/Src/hcsr04.c @@ -1,10 +1,10 @@ #include "hcsr04.h" #include "tim.h" -static uint64_t time; // 声明变量,用来计时 -static uint64_t time_end; // 声明变量,存储回波信号时间 -uint8_t sonor_state; // 测距状态变量,0:未测量,1:正在测量,2:已测量 -uint32_t sonor_distance; // 测量出的距离,单位mm +static uint64_t time_start; // 声明变量,用来计时 +static uint64_t time_end; // 声明变量,存储回波信号时间 +uint8_t sonor_state; // 测距状态变量,0:未测量,1:正在测量,2:已测量 +uint32_t sonor_distance; // 测量出的距离,单位mm void delay_us(uint16_t us); void HCSR04_HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim); @@ -40,7 +40,7 @@ void HCSR04_HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) if (htim == &htim2) { // 每10us自增一 - ++time; + ++time_start; } } @@ -50,12 +50,12 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if (HAL_GPIO_ReadPin(Echo_GPIO_Port, Echo_Pin)) { - time = 0; + time_start = 0; HAL_TIM_Base_Start_IT(&htim2); } else { - time_end = time; + time_end = time_start; HAL_TIM_Base_Stop_IT(&htim2); sonor_state = 2; Sonar_CP_Callback(); diff --git a/Core/Src/main.c b/Core/Src/main.c index be73bb0..1036981 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -19,15 +19,14 @@ /* Includes ------------------------------------------------------------------*/ #include "main.h" #include "dma.h" -#include "gpio.h" #include "i2c.h" #include "tim.h" #include "usart.h" +#include "gpio.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include -#include "syscalls.h" #include "bluetooth.h" #include "led.h" #include "hcsr04.h" @@ -103,20 +102,21 @@ int main(void) // MX_USART1_UART_Init(); MX_USART2_UART_Init(); /* USER CODE BEGIN 2 */ - HC_SR04_Init(); + BLUETOOTH_Init(); + // HC_SR04_Init(); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { - printf("test\n"); + // printf("test\n"); - if (sonor_state == 0) - { - sonar_mm(); - } - HAL_Delay(300); // 延时300毫秒 + // if (sonor_state == 0) + // { + // sonar_mm(); + // } + // HAL_Delay(300); // 延时300毫秒 /* USER CODE END WHILE */ @@ -126,17 +126,17 @@ int main(void) } /** - * @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; @@ -150,8 +150,9 @@ 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; @@ -168,9 +169,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 */ @@ -182,14 +183,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/motor.c b/Core/Src/motor.c index 33d20f5..cf1860b 100644 --- a/Core/Src/motor.c +++ b/Core/Src/motor.c @@ -3,6 +3,7 @@ #include "tim.h" #define MAX_SPEED 100 +#define MIN_SPEED 15 #define MOTOR_L 1 #define MOTOR_R 2 #define MOTOR_TIM (&htim4) @@ -37,30 +38,21 @@ void MOTOR_Stop(void) /// @brief 控制电机占空比 -/// @param leftDuty 绝对值 20-100, 支持正负 -/// @param rightDuty 绝对值 20-100,支持正负 +/// @param leftDuty 绝对值 0或20-100, 支持正负 +/// @param rightDuty 绝对值 0或20-100,支持正负 void MOTOR_SetDuty(int8_t leftDuty, int8_t rightDuty) { leftDuty = preProcess(leftDuty, MOTOR_L); rightDuty = preProcess(rightDuty, MOTOR_R); - uint16_t leftSpeed = (uint32_t)MAX_SPEED * leftDuty / 100; - __HAL_TIM_SetCompare(MOTOR_TIM, MOTOR_L_CHAN, leftSpeed); - __HAL_TIM_SetCompare(MOTOR_TIM, MOTOR_R_CHAN, leftSpeed); - - uint16_t rightSpeed = (uint32_t)MAX_SPEED * rightDuty / 100; - __HAL_TIM_SetCompare(MOTOR_TIM, MOTOR_L_CHAN, rightSpeed); - __HAL_TIM_SetCompare(MOTOR_TIM, MOTOR_R_CHAN, rightSpeed); + __HAL_TIM_SetCompare(MOTOR_TIM, MOTOR_L_CHAN, leftDuty); + __HAL_TIM_SetCompare(MOTOR_TIM, MOTOR_R_CHAN, rightDuty); } int8_t preProcess(int8_t duty, uint8_t motor) { - if (duty >= 0) + if (duty > 0) { - if (duty > 100) - duty = 100; - else if (duty < 20) - duty = 20; if (motor & MOTOR_L) { HAL_GPIO_WritePin(L_FORWARD_GPIO_Port, L_FORWARD_Pin, GPIO_PIN_SET); @@ -71,13 +63,11 @@ int8_t preProcess(int8_t duty, uint8_t motor) HAL_GPIO_WritePin(R_FORWARD_GPIO_Port, R_FORWARD_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(R_BACKWARD_GPIO_Port, R_BACKWARD_Pin, GPIO_PIN_RESET); } + } - else + else if (duty < 0) { - if (duty < -100) - duty = -100; - else if (duty > -20) - duty = -20; + duty = -duty; if (motor & MOTOR_L) { HAL_GPIO_WritePin(L_FORWARD_GPIO_Port, L_FORWARD_Pin, GPIO_PIN_RESET); @@ -89,5 +79,24 @@ int8_t preProcess(int8_t duty, uint8_t motor) HAL_GPIO_WritePin(R_BACKWARD_GPIO_Port, R_BACKWARD_Pin, GPIO_PIN_SET); } } + else + { + duty = MAX_SPEED; + if (motor & MOTOR_L) + { + HAL_GPIO_WritePin(L_FORWARD_GPIO_Port, L_FORWARD_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(L_BACKWARD_GPIO_Port, L_BACKWARD_Pin, GPIO_PIN_RESET); + } + if (motor & MOTOR_R) + { + HAL_GPIO_WritePin(R_FORWARD_GPIO_Port, R_FORWARD_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(R_BACKWARD_GPIO_Port, R_BACKWARD_Pin, GPIO_PIN_RESET); + } + } + + if (duty > MAX_SPEED) + duty = MAX_SPEED; + if (duty < MIN_SPEED) + duty = MIN_SPEED; return duty; } diff --git a/Core/Src/usart.c b/Core/Src/usart.c index fbdd64d..8b39fbf 100644 --- a/Core/Src/usart.c +++ b/Core/Src/usart.c @@ -115,7 +115,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /* USART1 interrupt Init */ - HAL_NVIC_SetPriority(USART1_IRQn, 0, 0); + HAL_NVIC_SetPriority(USART1_IRQn, 3, 1); HAL_NVIC_EnableIRQ(USART1_IRQn); /* USER CODE BEGIN USART1_MspInit 1 */ @@ -162,7 +162,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) __HAL_LINKDMA(uartHandle,hdmarx,hdma_usart2_rx); /* USART2 interrupt Init */ - HAL_NVIC_SetPriority(USART2_IRQn, 0, 0); + HAL_NVIC_SetPriority(USART2_IRQn, 3, 0); HAL_NVIC_EnableIRQ(USART2_IRQn); /* USER CODE BEGIN USART2_MspInit 1 */ diff --git a/MDK-ARM/CAR.uvoptx b/MDK-ARM/CAR.uvoptx index 6b17102..500137f 100644 --- a/MDK-ARM/CAR.uvoptx +++ b/MDK-ARM/CAR.uvoptx @@ -117,6 +117,31 @@ 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 -P00000000 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO65554 -TC10000000 -TT10000000 -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 @@ -128,7 +153,79 @@ -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 + 34 + 1 +
134226582
+ 0 + 0 + 0 + 0 + 0 + 1 + ..\Peripheral\Src\bluetooth.c + + \\CAR\../Peripheral/Src/bluetooth.c\34 +
+ + 1 + 0 + 32 + 1 +
134221102
+ 0 + 0 + 0 + 0 + 0 + 1 + ..\Peripheral\Src\control.c + + \\CAR\../Peripheral/Src/control.c\32 +
+ + 2 + 0 + 24 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + ..\Peripheral\Src\bluetooth.c + + +
+
+ + + 0 + 1 + num,0x0A + + + + + 1 + 8 + rxBuffer + 0 + + + + + 2 + 0 + num + 0 + + 0 @@ -183,7 +280,7 @@ Application/MDK-ARM - 1 + 0 0 0 0 @@ -214,66 +311,6 @@ 0 0 0 - ..\Core\Src\bluetooth.c - bluetooth.c - 0 - 0 - - - 2 - 3 - 1 - 0 - 0 - 0 - ..\Core\Src\control.c - control.c - 0 - 0 - - - 2 - 4 - 1 - 0 - 0 - 0 - ..\Core\Src\hcsr04.c - hcsr04.c - 0 - 0 - - - 2 - 5 - 1 - 0 - 0 - 0 - ..\Core\Src\led.c - led.c - 0 - 0 - - - 2 - 6 - 1 - 0 - 0 - 0 - ..\Core\Src\motor.c - motor.c - 0 - 0 - - - 2 - 7 - 1 - 0 - 0 - 0 ../Core/Src/main.c main.c 0 @@ -281,7 +318,7 @@ 2 - 8 + 3 1 0 0 @@ -293,7 +330,7 @@ 2 - 9 + 4 1 0 0 @@ -305,7 +342,7 @@ 2 - 10 + 5 1 0 0 @@ -317,7 +354,7 @@ 2 - 11 + 6 1 0 0 @@ -329,7 +366,7 @@ 2 - 12 + 7 1 0 0 @@ -341,7 +378,7 @@ 2 - 13 + 8 1 0 0 @@ -353,7 +390,7 @@ 2 - 14 + 9 1 0 0 @@ -365,6 +402,74 @@ + + Application/User/Peripheral + 1 + 0 + 0 + 0 + + 3 + 10 + 1 + 0 + 0 + 0 + ..\Peripheral\Src\bluetooth.c + bluetooth.c + 0 + 0 + + + 3 + 11 + 1 + 0 + 0 + 0 + ..\Peripheral\Src\control.c + control.c + 0 + 0 + + + 3 + 12 + 1 + 0 + 0 + 0 + ..\Peripheral\Src\hcsr04.c + hcsr04.c + 0 + 0 + + + 3 + 13 + 1 + 0 + 0 + 0 + ..\Peripheral\Src\led.c + led.c + 0 + 0 + + + 3 + 14 + 1 + 0 + 0 + 0 + ..\Peripheral\Src\motor.c + motor.c + 0 + 0 + + + Drivers/STM32F1xx_HAL_Driver 0 @@ -372,7 +477,7 @@ 0 0 - 3 + 4 15 1 0 @@ -384,7 +489,7 @@ 0 - 3 + 4 16 1 0 @@ -396,7 +501,7 @@ 0 - 3 + 4 17 1 0 @@ -408,7 +513,7 @@ 0 - 3 + 4 18 1 0 @@ -420,7 +525,7 @@ 0 - 3 + 4 19 1 0 @@ -432,7 +537,7 @@ 0 - 3 + 4 20 1 0 @@ -444,7 +549,7 @@ 0 - 3 + 4 21 1 0 @@ -456,7 +561,7 @@ 0 - 3 + 4 22 1 0 @@ -468,7 +573,7 @@ 0 - 3 + 4 23 1 0 @@ -480,7 +585,7 @@ 0 - 3 + 4 24 1 0 @@ -492,7 +597,7 @@ 0 - 3 + 4 25 1 0 @@ -504,7 +609,7 @@ 0 - 3 + 4 26 1 0 @@ -516,7 +621,7 @@ 0 - 3 + 4 27 1 0 @@ -528,7 +633,7 @@ 0 - 3 + 4 28 1 0 @@ -540,7 +645,7 @@ 0 - 3 + 4 29 1 0 @@ -560,7 +665,7 @@ 0 0 - 4 + 5 30 1 0 diff --git a/MDK-ARM/CAR.uvprojx b/MDK-ARM/CAR.uvprojx index 34a11ac..7aee711 100644 --- a/MDK-ARM/CAR.uvprojx +++ b/MDK-ARM/CAR.uvprojx @@ -81,7 +81,7 @@ 0 - 1 + 0 0 @@ -339,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;../Drivers/CMSIS/Include + ../Core/Inc;../Peripheral/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include @@ -393,31 +393,6 @@ Application/User/Core - - bluetooth.c - 1 - ..\Core\Src\bluetooth.c - - - control.c - 1 - ..\Core\Src\control.c - - - hcsr04.c - 1 - ..\Core\Src\hcsr04.c - - - led.c - 1 - ..\Core\Src\led.c - - - motor.c - 1 - ..\Core\Src\motor.c - main.c 1 @@ -460,6 +435,36 @@ + + Application/User/Peripheral + + + bluetooth.c + 1 + ..\Peripheral\Src\bluetooth.c + + + control.c + 1 + ..\Peripheral\Src\control.c + + + hcsr04.c + 1 + ..\Peripheral\Src\hcsr04.c + + + led.c + 1 + ..\Peripheral\Src\led.c + + + motor.c + 1 + ..\Peripheral\Src\motor.c + + + Drivers/STM32F1xx_HAL_Driver diff --git a/MDK-ARM/EventRecorderStub.scvd b/MDK-ARM/EventRecorderStub.scvd new file mode 100644 index 0000000..2956b29 --- /dev/null +++ b/MDK-ARM/EventRecorderStub.scvd @@ -0,0 +1,9 @@ + + + + + + + + +