Browse Source

修复pwm通道丢失值的问题

kindring 1 year ago
parent
commit
20f2954538
2 changed files with 8 additions and 8 deletions
  1. 2 2
      src/pwm_light/pwm_light.c
  2. 6 6
      src/pwm_light/pwm_light.h

+ 2 - 2
src/pwm_light/pwm_light.c

@@ -86,7 +86,7 @@ pwm_t *pwm_light_get(uint8_t ch)
 }
 
 // 初始化 pwm
-int pwm_light_init(uint8_t ch, GPIO_Pin_e pin, int val, uint8_t total, uint8_t step, PWM_CLK_DIV_e div)
+int pwm_light_init(uint8_t ch, GPIO_Pin_e pin, uint32_t val, uint32_t total, uint8_t step, PWM_CLK_DIV_e div)
 {
     pwm_t *pwm;
     // 判断 ch 是否合法
@@ -144,7 +144,7 @@ int pwm_light_set_pin(uint8_t ch, GPIO_Pin_e pin)
     return 0;
 }
 
-int pwm_light_set_val(uint8_t ch , uint16_t val)
+int pwm_light_set_val(uint8_t ch , uint32_t val)
 {
     pwm_t *pwm;
     // 判断 ch 是否合法

+ 6 - 6
src/pwm_light/pwm_light.h

@@ -14,9 +14,9 @@
 typedef struct pwm_t {
     PWMN_e pwm_ch;// pwm通道
     GPIO_Pin_e pin;// gpio引脚
-    uint8_t val;// 当前值 15
-    uint8_t total;// 总量 0-100
-    uint8_t step;// 步长 5
+    uint32_t val;// 当前值 15
+    uint32_t total;// 总量 0-100
+    uint32_t step;// 步长 5
     PWM_CLK_DIV_e div;// pwm时钟分频
 } pwm_t;
 
@@ -43,7 +43,7 @@ extern pwm_t *pwm_light_get(uint8_t ch);
  * @param PWM_CLK_DIV_e div 分频
  * @return 0 成功 -1 失败
 */
-extern int pwm_light_init(uint8_t ch, GPIO_Pin_e pin, int val, uint8_t total, uint8_t step, PWM_CLK_DIV_e div);
+extern int pwm_light_init(uint8_t ch, GPIO_Pin_e pin, uint32_t val, uint32_t total, uint8_t step, PWM_CLK_DIV_e div);
 
 /**
  * @brief 设置pwm总量
@@ -51,7 +51,7 @@ extern int pwm_light_init(uint8_t ch, GPIO_Pin_e pin, int val, uint8_t total, ui
  * @param int total 总量
  * @return 0 成功 -1 失败
 */
-extern int pwm_light_set_total(uint8_t ch, int total );
+extern int pwm_light_set_total(uint8_t ch, uint32_t total );
 
 /**
  * @brief 设置pwm引脚
@@ -68,7 +68,7 @@ extern int pwm_light_set_pin(uint8_t ch, GPIO_Pin_e pin);
  * @param val 新值
  * @return 0 成功 -1 失败
 */
-extern int pwm_light_set_val(uint8_t ch , uint16_t val);
+extern int pwm_light_set_val(uint8_t ch , uint32_t val);
 
 /**
  * @brief 设置pwm频率