Explorar el Código

三相驱动测试

Signed-off-by: kevin <huhui@sharkgulf.com>
kevin hace 2 años
padre
commit
97c09e1c22
Se han modificado 1 ficheros con 10 adiciones y 3 borrados
  1. 10 3
      Applications/app/factory.c

+ 10 - 3
Applications/app/factory.c

@@ -65,9 +65,16 @@ void can_process_factory_message(can_message_t *can_message){
 			u8 item = decode_u8(can_message->data);
 			if (item == 1) { //3相驱动测试
 				u8 duty = decode_u8((u8 *)can_message->data + 1);
-				pwm_3phase_test();
-				u16 duty_time = (u16)((float)duty * FOC_PWM_Half_Period / 100.0f);
-				pwm_update_duty(duty_time, duty_time, duty_time);
+				if (duty != 0) {
+					pwm_3phase_test();
+					pwm_start();
+					u16 duty_time = (u16)((float)duty * FOC_PWM_Half_Period / 100.0f);
+					pwm_update_duty(duty_time, duty_time, duty_time);
+				}else {
+					pwm_stop();
+					pwm_3phase_init();
+				}
+				sys_debug("phase test duty %d\n", duty);
 			}else if (item == 2) {//获取所有电压的采集值
 				can_response_vols(can_message->src, can_message->key);
 				return;