diff --git a/Project/HC32F460/MDK/.vscode/c_cpp_properties.json b/Project/HC32F460/MDK/.vscode/c_cpp_properties.json
index efcaf70..1c9fea8 100644
--- a/Project/HC32F460/MDK/.vscode/c_cpp_properties.json
+++ b/Project/HC32F460/MDK/.vscode/c_cpp_properties.json
@@ -3,19 +3,16 @@
{
"name": "Debug",
"includePath": [
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\driver\\inc",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\mcu\\common",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\source\\User\\Inc",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\source\\Module\\Debug",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\source\\Module\\SDCard",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\source\\Module\\FatFS\\source",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\source\\Module\\LIS2HH12",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\source\\Module\\RS485",
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\mcu\\common",
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\Project\\HC32F460\\source\\User\\Inc",
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\Project\\HC32F460\\source\\User\\Src",
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\driver\\src",
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\driver\\inc",
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\Project\\HC32F460\\source\\Module\\CS1237",
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\Project\\HC32F460\\source\\Module\\dc_motor",
"C:\\Keil_v5\\ARM\\ARMCC\\include",
"C:\\Keil_v5\\ARM\\ARMCC\\include\\rw",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\MDK",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\source\\User\\Src",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\driver\\src"
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\Project\\HC32F460\\MDK"
],
"defines": [
"__DEBUG",
@@ -100,21 +97,18 @@
{
"name": "Release",
"includePath": [
- "d:\\CUI\\Electronics\\SynologyDrive\\mcu\\common",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\source",
- "d:\\CUI\\Electronics\\SynologyDrive\\driver\\inc",
- "d:\\CUI\\Electronics\\SynologyDrive\\bsp\\ev_hc32f460_lqfp100_v2",
+ "d:\\CUI\\SynologyDrive\\JOB\\mcu\\common",
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\Project\\HC32F460\\source",
+ "d:\\CUI\\SynologyDrive\\JOB\\driver\\inc",
+ "d:\\CUI\\SynologyDrive\\JOB\\bsp\\ev_hc32f460_lqfp100_v2",
"C:\\Keil_v5\\ARM\\ARMCC\\include",
"C:\\Keil_v5\\ARM\\ARMCC\\include\\rw",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\MDK",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\mcu\\common",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\source\\User\\Src",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\driver\\src",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\source\\Module\\Debug",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\source\\Module\\SDCard",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\source\\Module\\FatFS\\source",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\source\\Module\\LIS2HH12",
- "d:\\CUI\\Electronics\\SynologyDrive\\HC32F460PRO\\HC32F460JEUA-SonarSenser_V1.5-2024-04-10\\Project\\SonarSensor\\source\\Module\\RS485"
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\Project\\HC32F460\\MDK",
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\mcu\\common",
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\driver\\src",
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\Project\\HC32F460\\source\\User\\Src",
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\Project\\HC32F460\\source\\Module\\CS1237",
+ "d:\\CUI\\SynologyDrive\\JOB\\Project\\HC32F460\\Project\\HC32F460\\source\\Module\\dc_motor"
],
"defines": [
"HC32F460",
diff --git a/Project/HC32F460/MDK/.vscode/keil-assistant.log b/Project/HC32F460/MDK/.vscode/keil-assistant.log
index 139626a..eba32ca 100644
--- a/Project/HC32F460/MDK/.vscode/keil-assistant.log
+++ b/Project/HC32F460/MDK/.vscode/keil-assistant.log
@@ -20,3 +20,17 @@
[info] Log at : 2024/6/12|17:35:35|GMT+0800
+[info] Log at : 2025/9/17|09:28:29|GMT+0800
+
+[info] Log at : 2025/9/17|09:28:37|GMT+0800
+
+[info] Log at : 2025/9/17|11:25:21|GMT+0800
+
+[info] Log at : 2025/9/17|11:30:43|GMT+0800
+
+[info] Log at : 2025/9/18|09:27:20|GMT+0800
+
+[info] project closed: HC32F460
+[info] Log at : 2025/9/19|10:56:08|GMT+0800
+
+[info] project closed: HC32F460
diff --git a/Project/HC32F460/MDK/HC32F460.uvoptx b/Project/HC32F460/MDK/HC32F460.uvoptx
index b524d80..cc6c46f 100644
--- a/Project/HC32F460/MDK/HC32F460.uvoptx
+++ b/Project/HC32F460/MDK/HC32F460.uvoptx
@@ -150,16 +150,16 @@
0
DLGUARM
- –?
+
0
0
- 57
+ 71
1
- 30944
+ 17972
0
0
0
@@ -168,7 +168,23 @@
1
..\source\Module\dc_motor\dc_motor.c
- \\BombSensor\../source/Module/dc_motor/dc_motor.c\57
+ \\BombSensor\../source/Module/dc_motor/dc_motor.c\71
+
+
+ 1
+ 0
+ 747
+ 1
+ 6022
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ ..\source\Module\dc_motor\dc_motor.c
+
+ \\BombSensor\../source/Module/dc_motor/dc_motor.c\747
@@ -262,6 +278,16 @@
1
DcMotorDispEn
+
+ 18
+ 1
+ newSpeed,0x0A
+
+
+ 19
+ 1
+ g_motorSpeed,0x0A
+
0
@@ -1058,7 +1084,7 @@
3
49
1
- 1
+ 0
0
0
..\source\User\Src\Debug.c
diff --git a/Project/HC32F460/source/Module/dc_motor/dc_motor.c b/Project/HC32F460/source/Module/dc_motor/dc_motor.c
index cd67c6a..3683051 100644
--- a/Project/HC32F460/source/Module/dc_motor/dc_motor.c
+++ b/Project/HC32F460/source/Module/dc_motor/dc_motor.c
@@ -30,8 +30,8 @@ void DCMOTORDBGOnOff(uint8_t OnOff)
DBG_LOG("\r\nDcMotor Display Disable!\r\n");
}
-
-
+#if(MCU == HC32F460JETA)
+#if(0) //¾É°æ±¾PCB
/* Timer4 CNT */
#define TIMER4_UNIT (M4_TMR41)
#define TIMER4_CNT_CYCLE_VAL (500u) /* Timer4 counter cycle value */
@@ -47,10 +47,24 @@ void DCMOTORDBGOnOff(uint8_t OnOff)
#define TIMER4_PWM_H_PIN (Pin08)
#define TIMER4_PWM_L_PORT (PortB) /* TIM4_1_OUL_B:PE8 TIM4_1_OVL_B:PE10 TIM4_1_OWL_B:PE12 */
#define TIMER4_PWM_L_PIN (Pin13)
+#endif
+#if(1) //V2.1°æ±¾PCB
+/* Timer4 CNT */
+#define TIMER4_UNIT (M4_TMR41)
+#define TIMER4_CNT_CYCLE_VAL (500u) /* Timer4 counter cycle value */
+/* Timer4 OCO */
+#define TIMER4_OCO_HIGH_CH (Timer4OcoOvh) /* only Timer4OcoOuh Timer4OcoOvh Timer4OcoOwh */
+/* Timer4 PWM */
+#define TIMER4_PWM_CH (Timer4PwmV) /* only Timer4PwmU Timer4PwmV Timer4PwmW */
+#define TIMER4_PWM_H_PORT (PortA) /* TIM4_1_OUH_B:PE9 TIM4_1_OVH_B:PE11 TIM4_1_OWH_B:PE13 */
+#define TIMER4_PWM_H_PIN (Pin09)
+#define TIMER4_PWM_L_PORT (PortB) /* TIM4_1_OUL_B:PE8 TIM4_1_OVL_B:PE10 TIM4_1_OWL_B:PE12 */
+#define TIMER4_PWM_L_PIN (Pin14)
+#endif
void Timer41_Init(uint8_t dir)
@@ -86,7 +100,7 @@ void Timer41_Init(uint8_t dir)
/* Enable peripheral clock */
- PWC_Fcg2PeriphClockCmd(PWC_FCG2_PERIPH_TIM41 | PWC_FCG2_PERIPH_TIM42 | PWC_FCG2_PERIPH_TIM43, Enable);
+ PWC_Fcg2PeriphClockCmd(PWC_FCG2_PERIPH_TIM41, Enable);
/* Timer4 CNT : Initialize CNT configuration structure */
stcCntInit.enBufferCmd = Disable;
@@ -178,10 +192,14 @@ void Timer41_Init(uint8_t dir)
PORT_SetFunc(TIMER4_PWM_L_PORT, TIMER4_PWM_L_PIN, Func_Tim4, Disable);
/* Timer4 PWM: Initialize PWM configuration structure */
+ //ÖØÔØ¶¨Ê±Æ÷ÖжÏ
stcPwmInit.enRtIntMaskCmd = Enable;
- stcPwmInit.enClkDiv = PwmPlckDiv1;
- stcPwmInit.enOutputState = E_PWM_OS; /*Êä³öPWMHÐźŲ»¸Ä±äµçƽ£¬Êä³öPWMLÐźŷ´×ª*/
- stcPwmInit.enMode = PwmThroughMode;
+ //¼ÆÊýʱÖÓ·ÖÆµ
+ stcPwmInit.enClkDiv = PwmPlckDiv1; /*Â˲¨¼ÆÊýÆ÷ºÍËÀÇø¼ÆÊýÆ÷µÄ¼ÆÊýʱÖÓ·ÖÆµ*/
+ //PWMÊä³ö¼«ÐÔ¿ØÖÆ
+ stcPwmInit.enOutputState = E_PWM_OS; /*Êä³öPWMHÐźŲ»¸Ä±äµçƽ£¬Êä³öPWMLÐźŷ´×ª*/
+ //PWMÊä³öģʽ
+ stcPwmInit.enMode = PwmThroughMode; /*ֱͨģʽ*/
TIMER4_PWM_Init(TIMER4_UNIT, TIMER4_PWM_CH, &stcPwmInit); /* Initialize timer4 pwm */
/* Clear && Start CNT */
@@ -360,14 +378,14 @@ void dcmotor_init(void)
PORT_Init(SHUTDOWN1_GPIO_Port, SHUTDOWN1_Pin, &stcPortInit);
PORT_SetBits(SHUTDOWN1_GPIO_Port, SHUTDOWN1_Pin);
- PORT_Init(PortA, Pin03, &stcPortInit);
- PORT_SetBits(PortA, Pin03);
- /* SDÀµÍ£¬¹Ø±ÕÊä³ö */
-
- dcmotor_stop(); /* Í£Ö¹µç»ú */
- dcmotor_dir(0); /* ÉèÖÃÕýת */
- dcmotor_speed(0); /* ËÙ¶ÈÉèÖÃΪ0 */
- dcmotor_start(); /* ¿ªÆôµç»ú */
+// PORT_Init(PortA, Pin03, &stcPortInit);
+// PORT_SetBits(PortA, Pin03);
+// /* SDÀµÍ£¬¹Ø±ÕÊä³ö */
+//
+// dcmotor_stop(); /* Í£Ö¹µç»ú */
+// dcmotor_dir(0); /* ÉèÖÃÕýת */
+// dcmotor_speed(0); /* ËÙ¶ÈÉèÖÃΪ0 */
+// dcmotor_start(); /* ¿ªÆôµç»ú */
}
/**
@@ -493,6 +511,8 @@ void dcmotor_speed(uint16_t para)
}
}
+#endif
+
/**
* @brief µç»ú¿ØÖÆ
* @param para: pwm±È½ÏÖµ ,ÕýÊýµç»úΪÕýת£¬¸ºÊýΪ·´×ª
diff --git a/Project/HC32F460/source/Module/dc_motor/dc_motor.h b/Project/HC32F460/source/Module/dc_motor/dc_motor.h
index d7e319c..e310e0f 100644
--- a/Project/HC32F460/source/Module/dc_motor/dc_motor.h
+++ b/Project/HC32F460/source/Module/dc_motor/dc_motor.h
@@ -2,19 +2,29 @@
#ifndef __DCMOTOR_H
#define __DCMOTOR_H
-#include "hc32_ddl.h"
+#define HC32F170 (0u) //HC32F170JATA
+#define HC32L170 (1u) //HC32L170JATA
+#define HC32F460JETA (2u) //HC32F460JETA
+
+#define MCU HC32F460JETA
+
+#if(MCU == HC32F460JETA)
+#include "hc32_ddl.h"
+
#define TIMER4 0
#define TIMER6 1
-#define TIMER TIMER4
+#define TIMER TIMER4 //HC32F460µ¥Æ¬»úPWMÊä³ö¿ØÖƶ¨Ê±Æ÷Ñ¡Ôñ
+#endif
+
// µç»ú¿ØÖƲÎÊý
#define PWM_PERIOD TIM_PERIOD // PWMÖÜÆÚÖµ (ARR)
#define MAX_SPEED 480 // ×î´óËÙ¶È(PWMÕ¼¿Õ±È)
#define ACCEL_STEP 10 // ¼ÓËÙ²½½øÖµ
#define DECEL_STEP 10 // ¼õËÙ²½½øÖµ
-#define ACCEL_INTERVAL 10 // ¼Ó¼õËÙ¼ä¸ô(ms)
+#define ACCEL_INTERVAL 2 // ¼Ó¼õËÙ¼ä¸ô(ms)
@@ -46,17 +56,18 @@ typedef enum {
/* Í£Ö¹Òý½Å²Ù×÷ºê¶¨Òå
* ´ËÒý½Å¿ØÖÆHÇÅÊÇ·ñÉúЧÒÔ´ïµ½¿ªÆôºÍ¹Ø±Õµç»úµÄЧ¹û
*/
-#define SHUTDOWN1_Pin Pin12
+#define SHUTDOWN1_Pin Pin07
#define SHUTDOWN1_GPIO_Port PortB
//#define SHUTDOWN2_Pin GPIO_PIN_2
//#define SHUTDOWN2_GPIO_Port GPIOF
#define SHUTDOWN_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOF_CLK_ENABLE(); }while(0) /* PF¿ÚʱÖÓʹÄÜ */
+#if(MCU == HC32F460JETA)
/* µç»úÍ£Ö¹Òý½Å¶¨Òå ÕâÀïĬÈÏÊǽӿÚ1 */
#define ENABLE_MOTOR PORT_SetBits(SHUTDOWN1_GPIO_Port,SHUTDOWN1_Pin)
#define DISABLE_MOTOR PORT_ResetBits(SHUTDOWN1_GPIO_Port,SHUTDOWN1_Pin)
-
+#endif
/******************************************************************************************/
void dcmotor_init(void); /* Ö±Á÷ÓÐË¢µç»ú³õʼ»¯ */
diff --git a/Project/HC32F460/source/User/Src/bsp.c b/Project/HC32F460/source/User/Src/bsp.c
index 3673cbb..9e17a81 100644
--- a/Project/HC32F460/source/User/Src/bsp.c
+++ b/Project/HC32F460/source/User/Src/bsp.c
@@ -8,6 +8,7 @@
#include "CS1237_RIGHTUP.h"
#include "CS1237_RIGHTLOW.h"
+#include "dc_motor.h"
#define SPI_MASTER_MODE
#define SPI3_MASTER_MODE
@@ -1357,7 +1358,7 @@ void BSP_Init(void)
//SdioInit();
//Spi_Config();
// Spi3_Config();
-
+ dcmotor_init();
//Adc1_Config();
//Dma_Config();
//FeedDog();