diff --git a/AutoGuideStick.ioc b/AutoGuideStick.ioc
index d711c66..5052dc5 100644
--- a/AutoGuideStick.ioc
+++ b/AutoGuideStick.ioc
@@ -31,9 +31,10 @@ Mcu.Family=STM32H5
Mcu.IP0=BOOTPATH
Mcu.IP1=CORTEX_M33_NS
Mcu.IP10=TIM2
-Mcu.IP11=UART5
+Mcu.IP11=TIM3
Mcu.IP12=USART1
Mcu.IP13=USART2
+Mcu.IP14=USART3
Mcu.IP2=DEBUG
Mcu.IP3=GPDMA1
Mcu.IP4=MEMORYMAP
@@ -42,14 +43,14 @@ Mcu.IP6=PWR
Mcu.IP7=RCC
Mcu.IP8=SYS
Mcu.IP9=THREADX
-Mcu.IPNb=14
+Mcu.IPNb=15
Mcu.Name=STM32H563ZITx
Mcu.Package=LQFP144
Mcu.Pin0=PH0-OSC_IN(PH0)
-Mcu.Pin1=PA0
-Mcu.Pin10=PA14(JTCK/SWCLK)
-Mcu.Pin11=PD4
-Mcu.Pin12=PD5
+Mcu.Pin1=PB14
+Mcu.Pin10=PD2
+Mcu.Pin11=PD5
+Mcu.Pin12=PD6
Mcu.Pin13=VP_CORTEX_M33_NS_VS_Hclk
Mcu.Pin14=VP_GPDMA1_VS_GPDMACH3
Mcu.Pin15=VP_GPDMA1_VS_GPDMACH4
@@ -57,19 +58,20 @@ Mcu.Pin16=VP_GPDMA1_VS_GPDMACH5
Mcu.Pin17=VP_PWR_VS_SECSignals
Mcu.Pin18=VP_PWR_VS_LPOM
Mcu.Pin19=VP_SYS_VS_tim1
-Mcu.Pin2=PA1
+Mcu.Pin2=PB15
Mcu.Pin20=VP_THREADX_VS_RTOSJjThreadXJjCoreJjDefault
Mcu.Pin21=VP_TIM2_VS_ClockSourceINT
-Mcu.Pin22=VP_BOOTPATH_VS_BOOTPATH
-Mcu.Pin23=VP_MEMORYMAP_VS_MEMORYMAP
-Mcu.Pin3=PA2
-Mcu.Pin4=PA3
-Mcu.Pin5=PB12
-Mcu.Pin6=PB13
-Mcu.Pin7=PB14
-Mcu.Pin8=PB15
-Mcu.Pin9=PA13(JTMS/SWDIO)
-Mcu.PinsNb=24
+Mcu.Pin22=VP_TIM3_VS_ClockSourceINT
+Mcu.Pin23=VP_BOOTPATH_VS_BOOTPATH
+Mcu.Pin24=VP_MEMORYMAP_VS_MEMORYMAP
+Mcu.Pin3=PC8
+Mcu.Pin4=PC9
+Mcu.Pin5=PA13(JTMS/SWDIO)
+Mcu.Pin6=PA14(JTCK/SWCLK)
+Mcu.Pin7=PC10
+Mcu.Pin8=PC11
+Mcu.Pin9=PC12
+Mcu.PinsNb=25
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32H563ZITx
@@ -95,44 +97,48 @@ NVIC.TIM1_UP_IRQn=true\:15\:0\:false\:false\:true\:false\:false\:true\:true
NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true
NVIC.TimeBase=TIM1_UP_IRQn
NVIC.TimeBaseIP=TIM1
-NVIC.UART5_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true
NVIC.USART1_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true
NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true
+NVIC.USART3_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
-PA0.GPIOParameters=GPIO_Label
-PA0.GPIO_Label=HC_Trig
-PA0.Locked=true
-PA0.Signal=GPIO_Output
-PA1.GPIOParameters=GPIO_Label
-PA1.GPIO_Label=HC_Echo
-PA1.Locked=true
-PA1.Signal=S_TIM2_CH2
PA13(JTMS/SWDIO).Mode=Serial_Wire
PA13(JTMS/SWDIO).Signal=DEBUG_JTMS-SWDIO
PA14(JTCK/SWCLK).Mode=Serial_Wire
PA14(JTCK/SWCLK).Signal=DEBUG_JTCK-SWCLK
-PA2.Mode=Asynchronous
-PA2.Signal=USART2_TX
-PA3.Mode=Asynchronous
-PA3.Signal=USART2_RX
-PB12.Mode=Asynchronous
-PB12.Signal=UART5_RX
-PB13.Mode=Asynchronous
-PB13.Signal=UART5_TX
PB14.Mode=Asynchronous
PB14.Signal=USART1_TX
PB15.Mode=Asynchronous
PB15.Signal=USART1_RX
-PD4.GPIOParameters=GPIO_PuPd,GPIO_Label
-PD4.GPIO_Label=Shake_Motor
-PD4.GPIO_PuPd=GPIO_PULLDOWN
-PD4.Locked=true
-PD4.Signal=GPIO_Output
-PD5.GPIOParameters=GPIO_PuPd,GPIO_Label
-PD5.GPIO_Label=Buzzer
-PD5.GPIO_PuPd=GPIO_PULLDOWN
+PC10.Locked=true
+PC10.Mode=Asynchronous
+PC10.Signal=USART3_TX
+PC11.Locked=true
+PC11.Mode=Asynchronous
+PC11.Signal=USART3_RX
+PC12.GPIOParameters=GPIO_PuPd,GPIO_Label
+PC12.GPIO_Label=Shake_Motor
+PC12.GPIO_PuPd=GPIO_PULLDOWN
+PC12.Locked=true
+PC12.Signal=GPIO_Output
+PC8.GPIOParameters=GPIO_Label
+PC8.GPIO_Label=HC_Trig
+PC8.Locked=true
+PC8.Signal=GPIO_Output
+PC9.GPIOParameters=GPIO_Label
+PC9.GPIO_Label=HC_Echo
+PC9.Locked=true
+PC9.Signal=S_TIM3_CH4
+PD2.GPIOParameters=GPIO_PuPd,GPIO_Label
+PD2.GPIO_Label=Buzzer
+PD2.GPIO_PuPd=GPIO_PULLDOWN
+PD2.Locked=true
+PD2.Signal=GPIO_Output
PD5.Locked=true
-PD5.Signal=GPIO_Output
+PD5.Mode=Asynchronous
+PD5.Signal=USART2_TX
+PD6.Locked=true
+PD6.Mode=Asynchronous
+PD6.Signal=USART2_RX
PH0-OSC_IN(PH0).Mode=HSE-External-Clock-Source
PH0-OSC_IN(PH0).Signal=RCC_OSC_IN
PinOutPanel.RotationAngle=0
@@ -167,7 +173,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=false
-ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_GPDMA1_Init-GPDMA1-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_USART2_UART_Init-USART2-false-HAL-true,6-MX_TIM2_Init-TIM2-false-HAL-true,7-MX_UART5_Init-UART5-false-HAL-true,0-MX_CORTEX_M33_NS_Init-CORTEX_M33_NS-false-HAL-true,0-MX_PWR_Init-PWR-false-HAL-true
+ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_GPDMA1_Init-GPDMA1-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_USART2_UART_Init-USART2-false-HAL-true,6-MX_TIM2_Init-TIM2-false-HAL-true,7-MX_TIM3_Init-TIM3-false-HAL-true,0-MX_CORTEX_M33_NS_Init-CORTEX_M33_NS-false-HAL-true,0-MX_PWR_Init-PWR-false-HAL-true
RCC.ADCFreq_Value=250000000
RCC.AHBFreq_Value=250000000
RCC.APB1Freq_Value=250000000
@@ -253,21 +259,24 @@ RCC.VCOInputFreq_Value=4000000
RCC.VCOOutputFreq_Value=500000000
RCC.VCOPLL2OutputFreq_Value=516000000
RCC.VCOPLL3OutputFreq_Value=516000000
-SH.S_TIM2_CH2.0=TIM2_CH2,Input_Capture2_from_TI2
-SH.S_TIM2_CH2.ConfNb=1
+SH.S_TIM3_CH4.0=TIM3_CH4,Input_Capture4_from_TI4
+SH.S_TIM3_CH4.ConfNb=1
THREADX.IPParameters=TX_APP_GENERATE_INIT_CODE
THREADX.TX_APP_GENERATE_INIT_CODE=false
-TIM2.Channel-Input_Capture2_from_TI2=TIM_CHANNEL_2
-TIM2.IPParameters=Channel-Input_Capture2_from_TI2,Prescaler
+TIM2.IPParameters=Prescaler
TIM2.Prescaler=250 - 1
-UART5.BaudRate=9600
-UART5.IPParameters=BaudRate
+TIM3.Channel-Input_Capture4_from_TI4=TIM_CHANNEL_4
+TIM3.IPParameters=Channel-Input_Capture4_from_TI4,Prescaler
+TIM3.Prescaler=250 - 1
USART1.BaudRate=9600
USART1.IPParameters=VirtualMode-Asynchronous,BaudRate
USART1.VirtualMode-Asynchronous=VM_ASYNC
USART2.BaudRate=9600
USART2.IPParameters=VirtualMode-Asynchronous,BaudRate
USART2.VirtualMode-Asynchronous=VM_ASYNC
+USART3.BaudRate=9600
+USART3.IPParameters=VirtualMode-Asynchronous,BaudRate
+USART3.VirtualMode-Asynchronous=VM_ASYNC
VP_BOOTPATH_VS_BOOTPATH.Mode=BP_Activate
VP_BOOTPATH_VS_BOOTPATH.Signal=BOOTPATH_VS_BOOTPATH
VP_CORTEX_M33_NS_VS_Hclk.Mode=Hclk_Mode
@@ -290,4 +299,6 @@ VP_THREADX_VS_RTOSJjThreadXJjCoreJjDefault.Mode=Core_Default
VP_THREADX_VS_RTOSJjThreadXJjCoreJjDefault.Signal=THREADX_VS_RTOSJjThreadXJjCoreJjDefault
VP_TIM2_VS_ClockSourceINT.Mode=Internal
VP_TIM2_VS_ClockSourceINT.Signal=TIM2_VS_ClockSourceINT
+VP_TIM3_VS_ClockSourceINT.Mode=Internal
+VP_TIM3_VS_ClockSourceINT.Signal=TIM3_VS_ClockSourceINT
board=custom
diff --git a/Core/Inc/app_threadx.h b/Core/Inc/app_threadx.h
index 762c703..3713550 100644
--- a/Core/Inc/app_threadx.h
+++ b/Core/Inc/app_threadx.h
@@ -47,17 +47,24 @@ extern "C" {
/* Private defines -----------------------------------------------------------*/
/* USER CODE BEGIN PD */
-// 新加入的define
+// 锟铰硷拷锟斤拷志锟斤拷锟斤拷
#define EVENT_OBSTACLE_DETECTED 0x01
#define EVENT_GPS_DATA_READY 0x02
#define EVENT_BLE_COMMAND_RECEIVED 0x04
#define IMU_UPDATE_EVENT 0x08
#define EVENT_LOCATION_UPDATED 0x10
+#define EVENT_IMU_DATA_READY 0x20 // 锟斤拷锟斤拷IMU锟斤拷锟捷撅拷锟斤拷锟铰硷拷
-// 对于超声波事件 后续可能会加上去 0x20 ?
+#define TEST 1
extern TX_QUEUE ble_tx_queue;
extern TX_EVENT_FLAGS_GROUP system_events;
+typedef struct
+{
+ uint8_t msg_type; // 1=位锟斤拷锟斤拷锟斤拷,2=锟斤拷锟斤拷锟斤拷息
+ char data[128];
+}BLE_Message; // 锟斤拷锟斤拷锟斤拷息 锟斤拷锟捷结构
+
/* USER CODE END PD */
/* Main thread defines -------------------------------------------------------*/
diff --git a/Core/Inc/main.h b/Core/Inc/main.h
index db2b7e5..2f05ebf 100644
--- a/Core/Inc/main.h
+++ b/Core/Inc/main.h
@@ -57,13 +57,13 @@ void Error_Handler(void);
/* USER CODE END EFP */
/* Private defines -----------------------------------------------------------*/
-#define HC_Trig_Pin GPIO_PIN_0
-#define HC_Trig_GPIO_Port GPIOA
-#define HC_Echo_Pin GPIO_PIN_1
-#define HC_Echo_GPIO_Port GPIOA
-#define Shake_Motor_Pin GPIO_PIN_4
-#define Shake_Motor_GPIO_Port GPIOD
-#define Buzzer_Pin GPIO_PIN_5
+#define HC_Trig_Pin GPIO_PIN_8
+#define HC_Trig_GPIO_Port GPIOC
+#define HC_Echo_Pin GPIO_PIN_9
+#define HC_Echo_GPIO_Port GPIOC
+#define Shake_Motor_Pin GPIO_PIN_12
+#define Shake_Motor_GPIO_Port GPIOC
+#define Buzzer_Pin GPIO_PIN_2
#define Buzzer_GPIO_Port GPIOD
/* USER CODE BEGIN Private defines */
diff --git a/Core/Inc/stm32h5xx_it.h b/Core/Inc/stm32h5xx_it.h
index 5ef799a..7a5917c 100644
--- a/Core/Inc/stm32h5xx_it.h
+++ b/Core/Inc/stm32h5xx_it.h
@@ -59,7 +59,7 @@ void TIM1_UP_IRQHandler(void);
void TIM2_IRQHandler(void);
void USART1_IRQHandler(void);
void USART2_IRQHandler(void);
-void UART5_IRQHandler(void);
+void USART3_IRQHandler(void);
/* USER CODE BEGIN EFP */
/* USER CODE END EFP */
diff --git a/Core/Inc/tim.h b/Core/Inc/tim.h
index f52bef6..29e0392 100644
--- a/Core/Inc/tim.h
+++ b/Core/Inc/tim.h
@@ -34,11 +34,14 @@ extern "C" {
extern TIM_HandleTypeDef htim2;
+extern TIM_HandleTypeDef htim3;
+
/* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */
void MX_TIM2_Init(void);
+void MX_TIM3_Init(void);
/* USER CODE BEGIN Prototypes */
diff --git a/Core/Inc/usart.h b/Core/Inc/usart.h
index c3f7052..baf6c0a 100644
--- a/Core/Inc/usart.h
+++ b/Core/Inc/usart.h
@@ -32,19 +32,19 @@ extern "C" {
/* USER CODE END Includes */
-extern UART_HandleTypeDef huart5;
-
extern UART_HandleTypeDef huart1;
extern UART_HandleTypeDef huart2;
+extern UART_HandleTypeDef huart3;
+
/* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */
-void MX_UART5_Init(void);
void MX_USART1_UART_Init(void);
void MX_USART2_UART_Init(void);
+void MX_USART3_UART_Init(void);
/* USER CODE BEGIN Prototypes */
diff --git a/Core/Src/app_threadx.c b/Core/Src/app_threadx.c
index 8db9c28..8e8e311 100644
--- a/Core/Src/app_threadx.c
+++ b/Core/Src/app_threadx.c
@@ -43,26 +43,70 @@
/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */
-/* 全局变量定义 */
+/* 全锟街憋拷锟斤拷锟斤拷锟斤拷 */
TX_QUEUE ble_tx_queue;
TX_EVENT_FLAGS_GROUP system_events;
MotorCommand current_motor_cmd = {0,0};
_GPSData gps_data;
-/* 消息队列数据类型 */
-typedef struct
-{
- uint8_t msg_type; // 1=GPS数据,2=报警信息,3=状态信息
- char data[128];
-}BLE_Message;
-
-
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
/* USER CODE BEGIN PFP */
+// 锟斤拷锟斤拷锟斤拷锟 锟斤拷锟斤拷app_thread.c锟斤拷
+// #define task_test 1
+#ifdef TEST //目前锟斤拷锟节诧拷锟斤拷
+
+
+
+/* USER CODE BEGIN 1 */
+/* USER CODE BEGIN 1 */
+void main_control_thread_entry(ULONG thread_input)
+{
+ ULONG events;
+ MotorCommand motor_cmd = {0, 0};
+
+ while(1)
+ {
+ // 绛夊緟浜嬩欢鍙戠敓
+ tx_event_flags_get(&system_events,
+ EVENT_OBSTACLE_DETECTED | EVENT_BLE_COMMAND_RECEIVED,
+ TX_OR_CLEAR, &events, TX_WAIT_FOREVER);
+
+ // 澶勭悊闅滅鐗╀簨浠
+ if(events & EVENT_OBSTACLE_DETECTED)
+ {
+ // 瑙﹀彂铚傞福鍣ㄥ拰鎸姩鎻愮ず
+ Buzzer_Open();
+ Shake_Motor_Open();
+ tx_thread_sleep(100); // 鎸姩100ms
+ Buzzer_Close();
+ Shake_Motor_Close();
+
+ // 鍙戦佹姤璀﹀埌鎵嬫満
+ BLE_Message msg;
+ msg.msg_type = 2;
+ snprintf(msg.data, sizeof(msg.data), "#{\"alert\":\"Obstacle detected!\"}\n");
+ tx_queue_send(&ble_tx_queue, &msg, TX_WAIT_FOREVER);
+ }
+
+ // 澶勭悊钃濈墮鎺у埗鎸囦护
+ if(events & EVENT_BLE_COMMAND_RECEIVED)
+ {
+ // 浠庨槦鍒楄幏鍙栫數鏈哄懡浠
+// tx_queue_receive(&ble_rx_queue, &motor_cmd, TX_WAIT_FOREVER);
+
+ // 瀹為檯鎺у埗鐢垫満 (浼唬鐮)
+ // set_motor_speed(motor_cmd.leftSpeed, motor_cmd.rightSpeed);
+ }
+ }
+}
+/* USER CODE END 1 */
+/* USER CODE END 1 */
+
+#endif
/* USER CODE END PFP */
/**
diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c
index d0a9936..67989f3 100644
--- a/Core/Src/gpio.c
+++ b/Core/Src/gpio.c
@@ -44,15 +44,16 @@ void MX_GPIO_Init(void)
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOH_CLK_ENABLE();
- __HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ __HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE();
/*Configure GPIO pin Output Level */
- HAL_GPIO_WritePin(HC_Trig_GPIO_Port, HC_Trig_Pin, GPIO_PIN_RESET);
+ HAL_GPIO_WritePin(GPIOC, HC_Trig_Pin|Shake_Motor_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
- HAL_GPIO_WritePin(GPIOD, Shake_Motor_Pin|Buzzer_Pin, GPIO_PIN_RESET);
+ HAL_GPIO_WritePin(Buzzer_GPIO_Port, Buzzer_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin : HC_Trig_Pin */
GPIO_InitStruct.Pin = HC_Trig_Pin;
@@ -61,12 +62,19 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(HC_Trig_GPIO_Port, &GPIO_InitStruct);
- /*Configure GPIO pins : Shake_Motor_Pin Buzzer_Pin */
- GPIO_InitStruct.Pin = Shake_Motor_Pin|Buzzer_Pin;
+ /*Configure GPIO pin : Shake_Motor_Pin */
+ GPIO_InitStruct.Pin = Shake_Motor_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+ HAL_GPIO_Init(Shake_Motor_GPIO_Port, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : Buzzer_Pin */
+ GPIO_InitStruct.Pin = Buzzer_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_PULLDOWN;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(Buzzer_GPIO_Port, &GPIO_InitStruct);
}
diff --git a/Core/Src/main.c b/Core/Src/main.c
index b51a831..adb4836 100644
--- a/Core/Src/main.c
+++ b/Core/Src/main.c
@@ -95,7 +95,8 @@ int main(void)
MX_USART1_UART_Init();
MX_USART2_UART_Init();
MX_TIM2_Init();
- MX_UART5_Init();
+ MX_TIM3_Init();
+ MX_USART3_UART_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
diff --git a/Core/Src/stm32h5xx_it.c b/Core/Src/stm32h5xx_it.c
index c03f86d..1e0c351 100644
--- a/Core/Src/stm32h5xx_it.c
+++ b/Core/Src/stm32h5xx_it.c
@@ -64,9 +64,9 @@ extern DMA_HandleTypeDef handle_GPDMA1_Channel4;
extern DMA_NodeTypeDef Node_GPDMA1_Channel3;
extern DMA_QListTypeDef List_GPDMA1_Channel3;
extern DMA_HandleTypeDef handle_GPDMA1_Channel3;
-extern UART_HandleTypeDef huart5;
extern UART_HandleTypeDef huart1;
extern UART_HandleTypeDef huart2;
+extern UART_HandleTypeDef huart3;
extern TIM_HandleTypeDef htim1;
/* USER CODE BEGIN EV */
@@ -284,17 +284,17 @@ void USART2_IRQHandler(void)
}
/**
- * @brief This function handles UART5 global interrupt.
+ * @brief This function handles USART3 global interrupt.
*/
-void UART5_IRQHandler(void)
+void USART3_IRQHandler(void)
{
- /* USER CODE BEGIN UART5_IRQn 0 */
+ /* USER CODE BEGIN USART3_IRQn 0 */
- /* USER CODE END UART5_IRQn 0 */
- HAL_UART_IRQHandler(&huart5);
- /* USER CODE BEGIN UART5_IRQn 1 */
+ /* USER CODE END USART3_IRQn 0 */
+ HAL_UART_IRQHandler(&huart3);
+ /* USER CODE BEGIN USART3_IRQn 1 */
- /* USER CODE END UART5_IRQn 1 */
+ /* USER CODE END USART3_IRQn 1 */
}
/* USER CODE BEGIN 1 */
diff --git a/Core/Src/tim.c b/Core/Src/tim.c
index fc0a22a..a6437f1 100644
--- a/Core/Src/tim.c
+++ b/Core/Src/tim.c
@@ -25,6 +25,7 @@
/* USER CODE END 0 */
TIM_HandleTypeDef htim2;
+TIM_HandleTypeDef htim3;
/* TIM2 init function */
void MX_TIM2_Init(void)
@@ -36,7 +37,6 @@ void MX_TIM2_Init(void)
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
TIM_MasterConfigTypeDef sMasterConfig = {0};
- TIM_IC_InitTypeDef sConfigIC = {0};
/* USER CODE BEGIN TIM2_Init 1 */
@@ -56,13 +56,54 @@ void MX_TIM2_Init(void)
{
Error_Handler();
}
- if (HAL_TIM_IC_Init(&htim2) != HAL_OK)
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN TIM2_Init 2 */
+
+ /* USER CODE END TIM2_Init 2 */
+
+}
+/* TIM3 init function */
+void MX_TIM3_Init(void)
+{
+
+ /* USER CODE BEGIN TIM3_Init 0 */
+
+ /* USER CODE END TIM3_Init 0 */
+
+ TIM_ClockConfigTypeDef sClockSourceConfig = {0};
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
+ TIM_IC_InitTypeDef sConfigIC = {0};
+
+ /* USER CODE BEGIN TIM3_Init 1 */
+
+ /* USER CODE END TIM3_Init 1 */
+ htim3.Instance = TIM3;
+ htim3.Init.Prescaler = 250 - 1;
+ htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
+ htim3.Init.Period = 65535;
+ htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
+ htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+ if (HAL_TIM_Base_Init(&htim3) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
+ if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ if (HAL_TIM_IC_Init(&htim3) != HAL_OK)
{
Error_Handler();
}
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
- if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)
{
Error_Handler();
}
@@ -70,13 +111,13 @@ void MX_TIM2_Init(void)
sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;
sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;
sConfigIC.ICFilter = 0;
- if (HAL_TIM_IC_ConfigChannel(&htim2, &sConfigIC, TIM_CHANNEL_2) != HAL_OK)
+ if (HAL_TIM_IC_ConfigChannel(&htim3, &sConfigIC, TIM_CHANNEL_4) != HAL_OK)
{
Error_Handler();
}
- /* USER CODE BEGIN TIM2_Init 2 */
+ /* USER CODE BEGIN TIM3_Init 2 */
- /* USER CODE END TIM2_Init 2 */
+ /* USER CODE END TIM3_Init 2 */
}
@@ -92,17 +133,6 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
/* TIM2 clock enable */
__HAL_RCC_TIM2_CLK_ENABLE();
- __HAL_RCC_GPIOA_CLK_ENABLE();
- /**TIM2 GPIO Configuration
- PA1 ------> TIM2_CH2
- */
- GPIO_InitStruct.Pin = HC_Echo_Pin;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
- HAL_GPIO_Init(HC_Echo_GPIO_Port, &GPIO_InitStruct);
-
/* TIM2 interrupt Init */
HAL_NVIC_SetPriority(TIM2_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(TIM2_IRQn);
@@ -110,6 +140,29 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
/* USER CODE END TIM2_MspInit 1 */
}
+ else if(tim_baseHandle->Instance==TIM3)
+ {
+ /* USER CODE BEGIN TIM3_MspInit 0 */
+
+ /* USER CODE END TIM3_MspInit 0 */
+ /* TIM3 clock enable */
+ __HAL_RCC_TIM3_CLK_ENABLE();
+
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ /**TIM3 GPIO Configuration
+ PC9 ------> TIM3_CH4
+ */
+ GPIO_InitStruct.Pin = HC_Echo_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;
+ HAL_GPIO_Init(HC_Echo_GPIO_Port, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN TIM3_MspInit 1 */
+
+ /* USER CODE END TIM3_MspInit 1 */
+ }
}
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
@@ -123,17 +176,29 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
/* Peripheral clock disable */
__HAL_RCC_TIM2_CLK_DISABLE();
- /**TIM2 GPIO Configuration
- PA1 ------> TIM2_CH2
- */
- HAL_GPIO_DeInit(HC_Echo_GPIO_Port, HC_Echo_Pin);
-
/* TIM2 interrupt Deinit */
HAL_NVIC_DisableIRQ(TIM2_IRQn);
/* USER CODE BEGIN TIM2_MspDeInit 1 */
/* USER CODE END TIM2_MspDeInit 1 */
}
+ else if(tim_baseHandle->Instance==TIM3)
+ {
+ /* USER CODE BEGIN TIM3_MspDeInit 0 */
+
+ /* USER CODE END TIM3_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_TIM3_CLK_DISABLE();
+
+ /**TIM3 GPIO Configuration
+ PC9 ------> TIM3_CH4
+ */
+ HAL_GPIO_DeInit(HC_Echo_GPIO_Port, HC_Echo_Pin);
+
+ /* USER CODE BEGIN TIM3_MspDeInit 1 */
+
+ /* USER CODE END TIM3_MspDeInit 1 */
+ }
}
/* USER CODE BEGIN 1 */
diff --git a/Core/Src/usart.c b/Core/Src/usart.c
index c6dcf04..a78ef23 100644
--- a/Core/Src/usart.c
+++ b/Core/Src/usart.c
@@ -24,9 +24,9 @@
/* USER CODE END 0 */
-UART_HandleTypeDef huart5;
UART_HandleTypeDef huart1;
UART_HandleTypeDef huart2;
+UART_HandleTypeDef huart3;
DMA_NodeTypeDef Node_GPDMA1_Channel5;
DMA_QListTypeDef List_GPDMA1_Channel5;
DMA_HandleTypeDef handle_GPDMA1_Channel5;
@@ -35,49 +35,6 @@ DMA_NodeTypeDef Node_GPDMA1_Channel3;
DMA_QListTypeDef List_GPDMA1_Channel3;
DMA_HandleTypeDef handle_GPDMA1_Channel3;
-/* UART5 init function */
-void MX_UART5_Init(void)
-{
-
- /* USER CODE BEGIN UART5_Init 0 */
-
- /* USER CODE END UART5_Init 0 */
-
- /* USER CODE BEGIN UART5_Init 1 */
-
- /* USER CODE END UART5_Init 1 */
- huart5.Instance = UART5;
- huart5.Init.BaudRate = 9600;
- huart5.Init.WordLength = UART_WORDLENGTH_8B;
- huart5.Init.StopBits = UART_STOPBITS_1;
- huart5.Init.Parity = UART_PARITY_NONE;
- huart5.Init.Mode = UART_MODE_TX_RX;
- huart5.Init.HwFlowCtl = UART_HWCONTROL_NONE;
- huart5.Init.OverSampling = UART_OVERSAMPLING_16;
- huart5.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
- huart5.Init.ClockPrescaler = UART_PRESCALER_DIV1;
- huart5.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
- if (HAL_UART_Init(&huart5) != HAL_OK)
- {
- Error_Handler();
- }
- if (HAL_UARTEx_SetTxFifoThreshold(&huart5, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
- {
- Error_Handler();
- }
- if (HAL_UARTEx_SetRxFifoThreshold(&huart5, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
- {
- Error_Handler();
- }
- if (HAL_UARTEx_DisableFifoMode(&huart5) != HAL_OK)
- {
- Error_Handler();
- }
- /* USER CODE BEGIN UART5_Init 2 */
-
- /* USER CODE END UART5_Init 2 */
-
-}
/* USART1 init function */
void MX_USART1_UART_Init(void)
@@ -165,6 +122,50 @@ void MX_USART2_UART_Init(void)
/* USER CODE END USART2_Init 2 */
+}
+/* USART3 init function */
+
+void MX_USART3_UART_Init(void)
+{
+
+ /* USER CODE BEGIN USART3_Init 0 */
+
+ /* USER CODE END USART3_Init 0 */
+
+ /* USER CODE BEGIN USART3_Init 1 */
+
+ /* USER CODE END USART3_Init 1 */
+ huart3.Instance = USART3;
+ huart3.Init.BaudRate = 9600;
+ huart3.Init.WordLength = UART_WORDLENGTH_8B;
+ huart3.Init.StopBits = UART_STOPBITS_1;
+ huart3.Init.Parity = UART_PARITY_NONE;
+ huart3.Init.Mode = UART_MODE_TX_RX;
+ huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ huart3.Init.OverSampling = UART_OVERSAMPLING_16;
+ huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
+ huart3.Init.ClockPrescaler = UART_PRESCALER_DIV1;
+ huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
+ if (HAL_UART_Init(&huart3) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ if (HAL_UARTEx_SetTxFifoThreshold(&huart3, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ if (HAL_UARTEx_SetRxFifoThreshold(&huart3, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ if (HAL_UARTEx_DisableFifoMode(&huart3) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN USART3_Init 2 */
+
+ /* USER CODE END USART3_Init 2 */
+
}
void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
@@ -173,44 +174,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
GPIO_InitTypeDef GPIO_InitStruct = {0};
DMA_NodeConfTypeDef NodeConfig= {0};
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
- if(uartHandle->Instance==UART5)
- {
- /* USER CODE BEGIN UART5_MspInit 0 */
-
- /* USER CODE END UART5_MspInit 0 */
-
- /** Initializes the peripherals clock
- */
- PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_UART5;
- PeriphClkInitStruct.Uart5ClockSelection = RCC_UART5CLKSOURCE_PCLK1;
- if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
- {
- Error_Handler();
- }
-
- /* UART5 clock enable */
- __HAL_RCC_UART5_CLK_ENABLE();
-
- __HAL_RCC_GPIOB_CLK_ENABLE();
- /**UART5 GPIO Configuration
- PB12 ------> UART5_RX
- PB13 ------> UART5_TX
- */
- GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_13;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF14_UART5;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
-
- /* UART5 interrupt Init */
- HAL_NVIC_SetPriority(UART5_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(UART5_IRQn);
- /* USER CODE BEGIN UART5_MspInit 1 */
-
- /* USER CODE END UART5_MspInit 1 */
- }
- else if(uartHandle->Instance==USART1)
+ if(uartHandle->Instance==USART1)
{
/* USER CODE BEGIN USART1_MspInit 0 */
@@ -348,17 +312,17 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
/* USART2 clock enable */
__HAL_RCC_USART2_CLK_ENABLE();
- __HAL_RCC_GPIOA_CLK_ENABLE();
+ __HAL_RCC_GPIOD_CLK_ENABLE();
/**USART2 GPIO Configuration
- PA2 ------> USART2_TX
- PA3 ------> USART2_RX
+ PD5 ------> USART2_TX
+ PD6 ------> USART2_RX
*/
- GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
+ GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
/* USART2 DMA Init */
/* GPDMA1_REQUEST_USART2_RX Init */
@@ -423,32 +387,49 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END USART2_MspInit 1 */
}
+ else if(uartHandle->Instance==USART3)
+ {
+ /* USER CODE BEGIN USART3_MspInit 0 */
+
+ /* USER CODE END USART3_MspInit 0 */
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART3;
+ PeriphClkInitStruct.Usart3ClockSelection = RCC_USART3CLKSOURCE_PCLK1;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /* USART3 clock enable */
+ __HAL_RCC_USART3_CLK_ENABLE();
+
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ /**USART3 GPIO Configuration
+ PC10 ------> USART3_TX
+ PC11 ------> USART3_RX
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+
+ /* USART3 interrupt Init */
+ HAL_NVIC_SetPriority(USART3_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(USART3_IRQn);
+ /* USER CODE BEGIN USART3_MspInit 1 */
+
+ /* USER CODE END USART3_MspInit 1 */
+ }
}
void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
{
- if(uartHandle->Instance==UART5)
- {
- /* USER CODE BEGIN UART5_MspDeInit 0 */
-
- /* USER CODE END UART5_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_UART5_CLK_DISABLE();
-
- /**UART5 GPIO Configuration
- PB12 ------> UART5_RX
- PB13 ------> UART5_TX
- */
- HAL_GPIO_DeInit(GPIOB, GPIO_PIN_12|GPIO_PIN_13);
-
- /* UART5 interrupt Deinit */
- HAL_NVIC_DisableIRQ(UART5_IRQn);
- /* USER CODE BEGIN UART5_MspDeInit 1 */
-
- /* USER CODE END UART5_MspDeInit 1 */
- }
- else if(uartHandle->Instance==USART1)
+ if(uartHandle->Instance==USART1)
{
/* USER CODE BEGIN USART1_MspDeInit 0 */
@@ -481,10 +462,10 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
__HAL_RCC_USART2_CLK_DISABLE();
/**USART2 GPIO Configuration
- PA2 ------> USART2_TX
- PA3 ------> USART2_RX
+ PD5 ------> USART2_TX
+ PD6 ------> USART2_RX
*/
- HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
+ HAL_GPIO_DeInit(GPIOD, GPIO_PIN_5|GPIO_PIN_6);
/* USART2 DMA DeInit */
HAL_DMA_DeInit(uartHandle->hdmarx);
@@ -495,6 +476,26 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END USART2_MspDeInit 1 */
}
+ else if(uartHandle->Instance==USART3)
+ {
+ /* USER CODE BEGIN USART3_MspDeInit 0 */
+
+ /* USER CODE END USART3_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_USART3_CLK_DISABLE();
+
+ /**USART3 GPIO Configuration
+ PC10 ------> USART3_TX
+ PC11 ------> USART3_RX
+ */
+ HAL_GPIO_DeInit(GPIOC, GPIO_PIN_10|GPIO_PIN_11);
+
+ /* USART3 interrupt Deinit */
+ HAL_NVIC_DisableIRQ(USART3_IRQn);
+ /* USER CODE BEGIN USART3_MspDeInit 1 */
+
+ /* USER CODE END USART3_MspDeInit 1 */
+ }
}
/* USER CODE BEGIN 1 */
diff --git a/MDK-ARM/AutoGuideStick.uvguix.madao b/MDK-ARM/AutoGuideStick.uvguix.madao
index 4f95f20..17e93d1 100644
--- a/MDK-ARM/AutoGuideStick.uvguix.madao
+++ b/MDK-ARM/AutoGuideStick.uvguix.madao
@@ -93,25 +93,25 @@
2
3
- -1
- -1
+ -32000
+ -32000
-1
-1
- 227
- 738
- 1580
- 676
+ 189
+ 689
+ 1531
+ 638
0
- 1393
- 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000001000000003000000010000002B443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C4843426C652E6300000000074843426C652E6300000000C5D4F200FFFFFFFF2B443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C4843426C652E6800000000074843426C652E6800000000FFDC7800FFFFFFFF36443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C436F72655C5372635C6170705F746872656164782E63000000000D6170705F746872656164782E6300000000BECEA100FFFFFFFF36443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C436F72655C496E635C6170705F746872656164782E68000000000D6170705F746872656164782E6800000000F0A0A100FFFFFFFF2F443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000BCA8E100FFFFFFFF2F443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C436F72655C496E635C6D61696E2E6800000000066D61696E2E68000000009CC1B600FFFFFFFF30443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C436F72655C5372635C75736172742E63000000000775736172742E6300000000F7B88600FFFFFFFF37443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C436F72655C5372635C73746D3332683578785F69742E63000000000E73746D3332683578785F69742E6300000000D9ADC200FFFFFFFF55443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C447269766572735C53544D3332483578785F48414C5F4472697665725C496E635C73746D3332683578785F68616C5F756172742E68000000001473746D3332683578785F68616C5F756172742E6800000000A5C2D700FFFFFFFF29443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C6770732E6300000000056770732E6300000000B3A6BE00FFFFFFFF29443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C6770732E6800000000056770732E6800000000EAD6A300FFFFFFFF29443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C494D552E630000000005494D552E6300000000F6FA7D00FFFFFFFF29443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C494D552E680000000005494D552E6800000000B5E99D00FFFFFFFF31443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C5368616B655F4D6F746F722E68000000000D5368616B655F4D6F746F722E68000000005FC3CF00FFFFFFFF31443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C5368616B655F4D6F746F722E63000000000D5368616B655F4D6F746F722E6300000000C1838300FFFFFFFF2E443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C6865616466696C652E68000000000A6865616466696C652E6800000000CACAD500FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000C40000006600000000060000B7020000
+ 760
+ 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000008000000020000000100000036443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C436F72655C5372635C6170705F746872656164782E63000000000D6170705F746872656164782E6300000000C5D4F200FFFFFFFF2B443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C4843426C652E6300000000074843426C652E6300000000BECEA100FFFFFFFF29443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C6770732E6300000000056770732E6300000000BECEA100FFFFFFFF2B443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C4843426C652E6800000000074843426C652E6800000000F0A0A100FFFFFFFF31443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C5368616B655F4D6F746F722E63000000000D5368616B655F4D6F746F722E6300000000BCA8E100FFFFFFFF31443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C5368616B655F4D6F746F722E68000000000D5368616B655F4D6F746F722E68000000009CC1B600FFFFFFFF30443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C556C747261736F756E642E63000000000C556C747261736F756E642E6300000000F7B88600FFFFFFFF29443A5C616476616E63655F737469636B5C4175746F4775696465537469636B5C66756E5C494D552E630000000006494D552E632A00000000D9ADC200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000C40000006600000000060000B7020000
@@ -1805,8 +1805,8 @@
59392
File
- 2568
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D646F5F67726F75705F6F6E6365960000000000000001000D646F5F67726F75705F6F6E636500000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
+ 2843
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000002000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000196D61696E5F636F6E74726F6C5F7468726561645F656E74727996000000000000001400196D61696E5F636F6E74726F6C5F7468726561645F656E74727915756C747261736F6E69635F7461736B5F656E74727903636D640B70617273655F696E6465781063757272656E745F6C6F636174696F6E0D646F5F67726F75705F6F6E636503627566024631085233385F504153530366726706646174615F560B667265655F6F75747075740A667265655F696E70757408667265655F50413706646174615F5007415F74696D657301690250580F5553415254305F4255465F53495A450A7278645F73636F6D6D300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
1423
@@ -1822,7 +1822,7 @@
Build
988
- 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000E4175746F4775696465537469636B960000000000000001000E4175746F4775696465537469636B000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000E4175746F4775696465537469636B960000000000000001000E4175746F4775696465537469636B000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
583
@@ -1862,90 +1862,36 @@
0
100
- 3
-
- ..\fun\HCBle.c
- 10
- 117
- 143
- 1
-
- 0
-
-
- ..\fun\HCBle.h
- 14
- 11
- 16
- 1
-
- 0
-
+ 2
../Core/Src/app_threadx.c
- 17
- 21
- 22
- 1
-
- 0
-
-
- ..\Core\Inc\app_threadx.h
0
- 44
- 60
- 1
-
- 0
-
-
- ../Core/Src/main.c
- 14
- 14
- 21
- 1
-
- 0
-
-
- ..\Core\Inc\main.h
- 0
- 1
- 1
- 1
-
- 0
-
-
- ../Core/Src/usart.c
- 18
10
- 21
+ 61
1
0
- ../Core/Src/stm32h5xx_it.c
- 44
- 183
- 209
- 1
-
- 0
-
-
- ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_uart.h
+ ..\fun\HCBle.c
0
- 1643
- 1657
+ 142
+ 164
1
0
..\fun\gps.c
+ 25
+ 201
+ 203
+ 1
+
+ 0
+
+
+ ..\fun\HCBle.h
0
1
1
@@ -1953,56 +1899,38 @@
0
-
- ..\fun\gps.h
- 0
- 1
- 4
- 1
-
- 0
-
-
- ..\fun\IMU.c
- 0
- 1
- 3
- 1
-
- 0
-
-
- ..\fun\IMU.h
- 0
- 1
- 5
- 1
-
- 0
-
-
- ..\fun\Shake_Motor.h
- 21
- 1
- 4
- 1
-
- 0
-
..\fun\Shake_Motor.c
- 1
- 1
- 11
+ 0
+ 7
+ 12
1
0
- ..\fun\headfile.h
- 0
+ ..\fun\Shake_Motor.h
+ 28
1
- 1
+ 9
+ 1
+
+ 0
+
+
+ ..\fun\Ultrasound.c
+ 15
+ 64
+ 70
+ 1
+
+ 0
+
+
+ ..\fun\IMU.c
+ 40
+ 1
+ 15
1
0
diff --git a/MDK-ARM/AutoGuideStick/AutoGuideStick.axf b/MDK-ARM/AutoGuideStick/AutoGuideStick.axf
index cd5fd79..919c8f9 100644
Binary files a/MDK-ARM/AutoGuideStick/AutoGuideStick.axf and b/MDK-ARM/AutoGuideStick/AutoGuideStick.axf differ
diff --git a/MDK-ARM/AutoGuideStick/AutoGuideStick.build_log.htm b/MDK-ARM/AutoGuideStick/AutoGuideStick.build_log.htm
index 5f6f87b..9d0dbaa 100644
--- a/MDK-ARM/AutoGuideStick/AutoGuideStick.build_log.htm
+++ b/MDK-ARM/AutoGuideStick/AutoGuideStick.build_log.htm
@@ -22,11 +22,19 @@ Dialog DLL: TCM.DLL V1.56.4.0
Project:
D:\advance_stick\AutoGuideStick\MDK-ARM\AutoGuideStick.uvprojx
-Project File Date: 06/24/2025
+Project File Date: 06/25/2025
Output:
*** Using Compiler 'V6.21', folder: 'D:\keil5\ARM\ARMCLANG\Bin'
Build target 'AutoGuideStick'
+compiling HCBle.c...
+compiling app_threadx.c...
+compiling gps.c...
+compiling Shake_Motor.c...
+compiling Ultrasound.c...
+linking...
+Program Size: Code=60986 RO-data=726 RW-data=16 ZI-data=6296
+FromELF: creating hex file...
"AutoGuideStick\AutoGuideStick.axf" - 0 Error(s), 0 Warning(s).
Software Packages used:
@@ -51,7 +59,7 @@ Package Vendor: Keil
* Component: ARM::CMSIS:CORE@5.6.0
Include file: CMSIS/Core/Include/tz_context.h
-Build Time Elapsed: 00:00:00
+Build Time Elapsed: 00:00:07