From b2c97d6a783cffb65a39c839084c89d6e38eb937 Mon Sep 17 00:00:00 2001 From: cui635 Date: Sun, 12 Oct 2025 19:59:47 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=A2=9E=E5=8A=A0=E5=BC=95=E8=84=9A?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E9=80=82=E9=85=8D=E6=96=B0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=EF=BC=88V2.1=EF=BC=89=E7=94=B5=E8=B7=AF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MDK/.vscode/c_cpp_properties.json | 42 +++++++--------- .../HC32F460/MDK/.vscode/keil-assistant.log | 14 ++++++ Project/HC32F460/MDK/HC32F460.uvoptx | 36 ++++++++++++-- .../source/Module/dc_motor/dc_motor.c | 48 +++++++++++++------ .../source/Module/dc_motor/dc_motor.h | 21 ++++++-- Project/HC32F460/source/User/Src/bsp.c | 3 +- 6 files changed, 115 insertions(+), 49 deletions(-) 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();